block-patterns.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. /**
  3. * Quadrat Theme: Block Patterns
  4. *
  5. * @package Quadrat
  6. * @since 1.0.0
  7. */
  8. if ( ! function_exists( 'quadrat_register_block_patterns' ) ) :
  9. function quadrat_register_block_patterns() {
  10. if ( function_exists( 'register_block_pattern_category' ) ) {
  11. register_block_pattern_category(
  12. 'quadrat',
  13. array( 'label' => __( 'Quadrat', 'quadrat' ) )
  14. );
  15. }
  16. if ( function_exists( 'register_block_pattern' ) ) {
  17. $block_patterns = array(
  18. 'cover-with-heading',
  19. 'episode',
  20. 'headline-button',
  21. 'headlines-and-buttons',
  22. 'query-diamond',
  23. 'query-episodes',
  24. 'latest-episodes',
  25. 'listen-to-the-podcast',
  26. 'media-text-button',
  27. );
  28. if ( class_exists( 'WP_Block_Type_Registry' ) && \WP_Block_Type_Registry::get_instance()->is_registered( 'jetpack/subscriptions' ) ) {
  29. $block_patterns[] = 'join';
  30. }
  31. foreach ( $block_patterns as $block_pattern ) {
  32. register_block_pattern(
  33. 'quadrat/' . $block_pattern,
  34. require __DIR__ . '/patterns/' . $block_pattern . '.php'
  35. );
  36. }
  37. }
  38. }
  39. endif;
  40. add_action( 'init', 'quadrat_register_block_patterns', 9 );
  41. if ( ! function_exists( 'quadrat_register_illustration_patterns' ) ) :
  42. function quadrat_register_illustration_patterns() {
  43. if ( function_exists( 'register_block_pattern_category' ) ) {
  44. register_block_pattern_category(
  45. 'quadrat-illustrations',
  46. array( 'label' => __( 'Quadrat Illustrations', 'quadrat' ) )
  47. );
  48. }
  49. if ( function_exists( 'register_block_pattern' ) ) {
  50. $illustration_patterns = array(
  51. 'circle-rolling-over-a-triangle' => __( 'Circle rolling over a triange', 'quadrat' ),
  52. 'combination-of-purple-triangles' => __( 'Combination of purple triangles' , 'quadrat' ),
  53. 'combination-of-white-orange-and-pink-triangles' => __( 'Combination of white orange and pink triangles' , 'quadrat' ),
  54. 'complex-shape-combination-and-two-pink-squares-on-a-dark-purple-background' => __( 'Complex shape combination and two pink squares on a dark purple background' , 'quadrat' ),
  55. 'group-of-squares-displayed-diagonally' => __( 'Group of squares displayed diagonally' , 'quadrat' ),
  56. 'group-of-white-pink-and-orange-circles' => __( 'Group of white pink and orange circles' , 'quadrat' ),
  57. 'many-pink-squares-overlapped' => __( 'Many pink squares overlapped' , 'quadrat' ),
  58. 'orange-and-pink-shapes-displayed-in-different-ways' => __( 'Orange and pink shapes displayed in different ways' , 'quadrat' ),
  59. 'orange-triangle-in-purple-background' => __( 'Orange triangle in purple background' , 'quadrat' ),
  60. 'pink-square-and-dark-purple-triangle' => __( 'Pink square and dark purple triangle' , 'quadrat' ),
  61. 'pink-square-with-dark-shadow-on-orange-background' => __( 'Pink square with dark shadow on orange background' , 'quadrat' ),
  62. 'pink-squared-shapes-combination' => __( 'Pink squared shapes combination' , 'quadrat' ),
  63. 'pink-squares-on-orange-background' => __( 'Pink squares on orange background' , 'quadrat' ),
  64. 'solid-shapes-in-purple-pink-and-white' => __( 'Solid shapes in purple pink and white' , 'quadrat' ),
  65. 'squares-changing-opacity-on-a-pink-background' => __( 'Squares changing opacity on a pink background' , 'quadrat' ),
  66. 'three-circles-decreasing-in-size-on-a-pink-background' => __( 'Three circles decreasing in size on a pink background' , 'quadrat' ),
  67. 'two-circles-and-a-squared-shape-on-pink-background' => __( 'Two circles and a squared shape on pink background' , 'quadrat' ),
  68. 'white-and-orange-squares-on-light-purple-background' => __( 'White and orange squares on light purple background' , 'quadrat' ),
  69. );
  70. if ( class_exists( 'WP_Block_Type_Registry' ) && \WP_Block_Type_Registry::get_instance()->is_registered( 'jetpack/subscriptions' ) ) {
  71. $illustration_patterns[] = 'join';
  72. }
  73. foreach ( $illustration_patterns as $illustration_pattern_key => $illustration_pattern_name ) {
  74. register_block_pattern(
  75. 'quadrat/' . $illustration_pattern_key,
  76. array(
  77. 'title' => $illustration_pattern_name,
  78. 'categories' => array( 'quadrat-illustrations' ),
  79. 'content' => '<!-- wp:image {"sizeSlug":"large"} -->
  80. <figure class="wp-block-image size-large"><img src="' . get_stylesheet_directory_uri() . '/assets/illustrations/' . $illustration_pattern_key . '.png" alt=""/></figure>
  81. <!-- /wp:image -->',
  82. )
  83. );
  84. }
  85. }
  86. }
  87. endif;
  88. add_action( 'init', 'quadrat_register_illustration_patterns', 9 );