PluginProbe
Gutenberg / 10.5.2
Gutenberg v10.5.2
23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 12.6.0 7.4.0 All 402 releases
gutenberg / lib / block-patterns.php

block-patterns.php in Gutenberg 10.5.2, at lib/block-patterns.php

231 lines 10.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Block patterns registration.
4 *
5 * @package gutenberg
6 */
7
8 // Register categories used for block patterns.
9 register_block_pattern_category( 'query', array( 'label' => __( 'Query', 'gutenberg' ) ) );
10
11 // Initial Query block patterns.
12 register_block_pattern(
13 'query/standard-posts',
14 array(
15 'title' => __( 'Standard', 'gutenberg' ),
16 'blockTypes' => array( 'core/query' ),
17 'categories' => array( 'query' ),
18 'content' => '<!-- wp:query {"query":{"perPage":1,"pages":0,"offset":0,"postType":"post","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true}} -->
19 <!-- wp:query-loop -->
20 <!-- wp:post-title {"isLink":true} /-->
21 <!-- wp:post-featured-image {"isLink":true,"align":"wide"} /-->
22 <!-- wp:post-excerpt /-->
23 <!-- wp:separator -->
24 <hr class="wp-block-separator"/>
25 <!-- /wp:separator -->
26 <!-- wp:post-date /-->
27 <!-- /wp:query-loop -->
28 <!-- /wp:query -->',
29 )
30 );
31
32 register_block_pattern(
33 'query/medium-posts',
34 array(
35 'title' => __( 'Image at left', 'gutenberg' ),
36 'blockTypes' => array( 'core/query' ),
37 'categories' => array( 'query' ),
38 'content' => '<!-- wp:query {"query":{"perPage":1,"pages":0,"offset":0,"postType":"post","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true}} -->
39 <!-- wp:query-loop -->
40 <!-- wp:columns {"align":"wide"} -->
41 <div class="wp-block-columns alignwide"><!-- wp:column {"width":"66.66%"} -->
42 <div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:post-featured-image {"isLink":true} /--></div>
43 <!-- /wp:column -->
44 <!-- wp:column {"width":"33.33%"} -->
45 <div class="wp-block-column" style="flex-basis:33.33%"><!-- wp:post-title {"isLink":true} /-->
46 <!-- wp:post-excerpt /--></div>
47 <!-- /wp:column --></div>
48 <!-- /wp:columns -->
49 <!-- /wp:query-loop -->
50 <!-- /wp:query -->',
51 )
52 );
53
54 register_block_pattern(
55 'query/small-posts',
56 array(
57 'title' => __( 'Small image and title', 'gutenberg' ),
58 'blockTypes' => array( 'core/query' ),
59 'categories' => array( 'query' ),
60 'content' => '<!-- wp:query {"query":{"perPage":1,"pages":0,"offset":0,"postType":"post","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true}} -->
61 <!-- wp:query-loop -->
62 <!-- wp:columns {"verticalAlignment":"center"} -->
63 <div class="wp-block-columns are-vertically-aligned-center"><!-- wp:column {"verticalAlignment":"center","width":"25%"} -->
64 <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:25%"><!-- wp:post-featured-image {"isLink":true} /--></div>
65 <!-- /wp:column -->
66 <!-- wp:column {"verticalAlignment":"center","width":"75%"} -->
67 <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:75%"><!-- wp:post-title {"isLink":true} /--></div>
68 <!-- /wp:column --></div>
69 <!-- /wp:columns -->
70 <!-- /wp:query-loop -->
71 <!-- /wp:query -->',
72 )
73 );
74
75 register_block_pattern(
76 'query/grid-posts',
77 array(
78 'title' => __( 'Grid', 'gutenberg' ),
79 'blockTypes' => array( 'core/query' ),
80 'categories' => array( 'query' ),
81 'content' => '<!-- wp:query {"query":{"perPage":6,"pages":0,"offset":0,"postType":"post","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"exclude","inherit":true},"layout":{"type":"flex","columns":3}} -->
82 <!-- wp:query-loop -->
83 <!-- wp:group {"tagName":"main","style":{"spacing":{"padding":{"top":"30px","right":"30px","bottom":"30px","left":"30px"}}},"layout":{"inherit":false}} -->
84 <main class="wp-block-group" style="padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px"><!-- wp:post-title {"isLink":true} /-->
85 <!-- wp:post-excerpt {"wordCount":20} /-->
86 <!-- wp:post-date /--></div>
87 <!-- /wp:group -->
88 <!-- /wp:query-loop -->
89 <!-- /wp:query -->',
90 )
91 );
92
93 register_block_pattern(
94 'query/large-title-posts',
95 array(
96 'title' => __( 'Large title', 'gutenberg' ),
97 'blockTypes' => array( 'core/query' ),
98 'categories' => array( 'query' ),
99 'content' => '<!-- wp:group {"align":"full","style":{"spacing":{"padding":{"top":"100px","right":"100px","bottom":"100px","left":"100px"}},"color":{"text":"#ffffff","background":"#000000"}}} -->
100 <div class="wp-block-group alignfull has-text-color has-background" style="background-color:#000000;color:#ffffff;padding-top:100px;padding-right:100px;padding-bottom:100px;padding-left:100px"><!-- wp:query {"query":{"perPage":3,"pages":0,"offset":0,"postType":"post","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true}} -->
101 <!-- wp:query-loop -->
102 <!-- wp:separator {"customColor":"#ffffff","align":"wide","className":"is-style-wide"} -->
103 <hr class="wp-block-separator alignwide has-text-color has-background is-style-wide" style="background-color:#ffffff;color:#ffffff"/>
104 <!-- /wp:separator -->
105
106 <!-- wp:columns {"verticalAlignment":"center","align":"wide"} -->
107 <div class="wp-block-columns alignwide are-vertically-aligned-center"><!-- wp:column {"verticalAlignment":"center","width":"20%"} -->
108 <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:20%"><!-- wp:post-date {"style":{"color":{"text":"#ffffff"}},"fontSize":"extra-small"} /--></div>
109 <!-- /wp:column -->
110
111 <!-- wp:column {"verticalAlignment":"center","width":"80%"} -->
112 <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:80%"><!-- wp:post-title {"isLink":true,"style":{"typography":{"fontSize":"72px","lineHeight":"1.1"},"color":{"text":"#ffffff","link":"#ffffff"}}} /--></div>
113 <!-- /wp:column --></div>
114 <!-- /wp:columns -->
115 <!-- /wp:query-loop -->
116 <!-- /wp:query --></div>
117 <!-- /wp:group -->',
118 )
119 );
120
121 register_block_pattern(
122 'query/offset-posts',
123 array(
124 'title' => __( 'Offset', 'gutenberg' ),
125 'blockTypes' => array( 'core/query' ),
126 'categories' => array( 'query' ),
127 'content' => '<!-- wp:group {"tagName":"main","style":{"spacing":{"padding":{"top":"30px","right":"30px","bottom":"30px","left":"30px"}}},"layout":{"inherit":false}} -->
128 <main class="wp-block-group" style="padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px"><!-- wp:columns -->
129 <div class="wp-block-columns"><!-- wp:column {"width":"50%"} -->
130 <div class="wp-block-column" style="flex-basis:50%"><!-- wp:query {"query":{"perPage":2,"pages":0,"offset":0,"postType":"post","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"exclude","inherit":false},"layout":{"type":"list"}} -->
131 <!-- wp:query-loop -->
132 <!-- wp:post-featured-image /-->
133 <!-- wp:post-title /-->
134 <!-- wp:post-date /-->
135 <!-- wp:spacer {"height":200} -->
136 <div style="height:200px" aria-hidden="true" class="wp-block-spacer"></div>
137 <!-- /wp:spacer -->
138 <!-- /wp:query-loop -->
139 <!-- /wp:query --></div>
140 <!-- /wp:column -->
141 <!-- wp:column {"width":"50%"} -->
142 <div class="wp-block-column" style="flex-basis:50%"><!-- wp:query {"query":{"perPage":2,"pages":0,"offset":2,"postType":"post","categoryIds":[],"tagIds":[],"order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"exclude","inherit":false},"layout":{"type":"list"}} -->
143 <!-- wp:query-loop -->
144 <!-- wp:spacer {"height":200} -->
145 <div style="height:200px" aria-hidden="true" class="wp-block-spacer"></div>
146 <!-- /wp:spacer -->
147 <!-- wp:post-featured-image /-->
148 <!-- wp:post-title /-->
149 <!-- wp:post-date /-->
150 <!-- /wp:query-loop -->
151 <!-- /wp:query --></div>
152 <!-- /wp:column --></div>
153 <!-- /wp:columns --></main>
154 <!-- /wp:group -->',
155 )
156 );
157
158 // Initial block pattern to be used with block transformations with patterns.
159 register_block_pattern(
160 'social-links/shared-background-color',
161 array(
162 'title' => __( 'Social links with a shared background color', 'gutenberg' ),
163 'categories' => array( 'buttons' ),
164 'blockTypes' => array( 'core/social-links' ),
165 'viewportWidth' => 500,
166 'content' => '<!-- wp:social-links {"customIconColor":"#ffffff","iconColorValue":"#ffffff","customIconBackgroundColor":"#3962e3","iconBackgroundColorValue":"#3962e3","className":"has-icon-color"} -->
167 <ul class="wp-block-social-links has-icon-color has-icon-background-color"><!-- wp:social-link {"url":"https://wordpress.org","service":"wordpress"} /-->
168 <!-- wp:social-link {"url":"#","service":"chain"} /-->
169 <!-- wp:social-link {"url":"#","service":"mail"} /--></ul>
170 <!-- /wp:social-links -->',
171 )
172 );
173
174 // Deactivate the legacy patterns bundled with WordPress, and add new block patterns for testing.
175 // More details in the trac issue (https://core.trac.wordpress.org/ticket/52846).
176 add_action(
177 'init',
178 function() {
179
180 $core_block_patterns = array(
181 'text-two-columns',
182 'two-buttons',
183 'two-images',
184 'text-two-columns-with-images',
185 'text-three-columns-buttons',
186 'large-header',
187 'large-header-button',
188 'three-buttons',
189 'heading-paragraph',
190 'quote',
191 );
192
193 $new_core_block_patterns = array(
194 'media-text-nature',
195 'two-images-gallery',
196 'three-columns-media-text',
197 'quote',
198 'large-header-left',
199 'large-header-text-button',
200 'media-text-art',
201 'text-two-columns-title',
202 'three-columns-text',
203 'text-two-columns-title-offset',
204 'heading',
205 'three-images-gallery',
206 'text-two-columns',
207 'media-text-arquitecture',
208 'two-buttons',
209 );
210
211 if ( ! function_exists( 'unregister_block_pattern' ) ) {
212 return;
213 }
214
215 foreach ( $core_block_patterns as $core_block_pattern ) {
216 $name = 'core/' . $core_block_pattern;
217 if ( WP_Block_Patterns_Registry::get_instance()->is_registered( $name ) ) {
218 unregister_block_pattern( $name );
219 }
220 }
221
222 foreach ( $new_core_block_patterns as $core_block_pattern ) {
223 register_block_pattern(
224 'core/' . $core_block_pattern,
225 require __DIR__ . '/block-patterns/' . $core_block_pattern . '.php'
226 );
227 }
228
229 }
230 );
231