block-patterns.php 4.3 KB

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