{"id":4677,"date":"2022-09-01T09:42:26","date_gmt":"2022-09-01T15:42:26","guid":{"rendered":"https:\/\/wpengine.com\/builders\/?p=4677"},"modified":"2023-04-14T09:57:40","modified_gmt":"2023-04-14T15:57:40","slug":"page-creation-patterns","status":"publish","type":"post","link":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/","title":{"rendered":"What are Page Creation Patterns in WordPress?"},"content":{"rendered":"\n<p>Welcome to part two of a three-part series on advanced block patterns. Patterns are central to how we build modern WordPress websites, and understanding the nuances of pattern development can help you take your next theme or client project to the next level. <\/p>\n\n\n\n<p>In <a href=\"https:\/\/wpengine.com\/builders\/wordpress-contextual-patterns\/\">part one<\/a>, we discussed ways to improve user workflow with contextual patterns. This article will teach you how to help users build pages quickly and consistently with &#8220;page creation&#8221; patterns. Let&#8217;s dive in.<\/p>\n\n\n\n<p><em>Feel free to watch the video version of this article or continue reading. <\/em><br><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"What are Page Creation Patterns in WordPress?\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/8vp_SMA25X4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<div class=\"wp-block-group has-polar-background-color has-background is-layout-flow wp-container-core-group-is-layout-2c003d4a wp-block-group-is-layout-flow\" style=\"margin-bottom:50px;padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px\">\n<p class=\"has-large-font-size\"><strong>Table of Contents<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"#overview\">Overview<\/a><\/li>\n\n\n\n<li><a href=\"#registration\">Pattern Registration<\/a> <\/li>\n\n\n\n<li><span style=\"color: var(--wp--preset--color--mirage); font-family: var(--wp--preset--font-family--primary); font-size: var(--wp--preset--font-size--medium); font-weight: var(--wp--custom--font-weight--regular);\"><a href=\"#pages\">Example: Pages<\/a><\/span><\/li>\n\n\n\n<li><a href=\"#post-types\">Example: Additional Post Types<\/a><\/li>\n<\/ul>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n\n\n<p>Designing a page or post from scratch can be daunting, especially for new WordPress users. Block patterns shine in these situations. By offering preconfigured designs that match the current theme or a brand&#8217;s aesthetic, users can confidently get started more quickly. <\/p>\n\n\n\n<p>That said, you are still presented with a blank canvas when designing a new page in WordPress. But what if the page creation process began with selecting a pattern? What if you could easily pick from an About, Contact, or Portfolio pattern layout before you even started adding your own content?<\/p>\n\n\n\n<p>Introduced in WordPress 6.0 (May 2022), page creation patterns allow you to do just that. Below is a look at the <a href=\"https:\/\/wordpress.org\/themes\/twentytwentytwo\/\" target=\"_blank\" rel=\"noreferrer noopener\">Twenty Twenty-Two<\/a> theme after modifications were made to enable this functionality, which will be detailed later in this article&#8217;s examples. <\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1155\" src=\"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-modal.jpg\" alt=\"Page creation patterns in the Twenty Twenty-Two theme.\" class=\"wp-image-4752\" srcset=\"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-modal.jpg 1920w, https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-modal-300x180.jpg 300w, https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-modal-1024x616.jpg 1024w, https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-modal-768x462.jpg 768w, https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-modal-1536x924.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><figcaption class=\"wp-element-caption\">The page creation pattern modal in the Twenty Twenty-Two theme.<\/figcaption><\/figure>\n\n\n\n<p>When creating a new page, you are presented with a modal of all configured page creation patterns. From the modal, you can choose a pattern as a starting point for the page&#8217;s design with a single click. Don&#8217;t need a pattern? Close the modal, and you are back to a blank canvas. <\/p>\n\n\n\n<p>While WordPress 6.0 first introduced page creation patterns, the implementation was incomplete. They were only available to pages, not posts or custom post-types. WordPress 6.1 expanded this functionality to all post-types and lets you specify which patterns should be displayed based on the content being created. <\/p>\n\n\n\n<p>We will explore this expanded functionality, but first, we must discuss how to register this type of pattern. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"registration\">Pattern Registration<\/h2>\n\n\n\n<p>This article does not cover all the nuances of pattern registration, only those specific to page creation patterns. For general information, you can learn more by visiting the <a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/block-api\/block-patterns\/\" target=\"_blank\" rel=\"noreferrer noopener\">Block Editor Handbook<\/a>. <\/p>\n\n\n\n<p>Registering a page creation pattern is virtually identical to any normal block pattern. You just need to apply an additional property. However, there are two ways to register patterns in WordPress, and the implementation of pattern properties is slightly different depending on your method.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Function Method<\/h3>\n\n\n\n<p>The first method uses the function <code>register_block_pattern()<\/code> and can be applied in both themes and plugins. To build a page creation pattern, you must include the property <code>blockTypes<\/code>, which accepts an array of block names. As discussed in the <a href=\"https:\/\/wpengine.com\/builders\/wordpress-contextual-patterns\/\">contextual patterns<\/a> article, the <code>blockTypes<\/code> property tells WordPress that the pattern is associated with the provided blocks. <\/p>\n\n\n\n<p>In the case of page creation patterns, we need to use <strong><code>core\/post-content<\/code><\/strong>. The Post Content block outputs all post content on the front end of any <a href=\"https:\/\/developer.wordpress.org\/themes\/block-themes\/block-theme-setup\/\" target=\"_blank\" rel=\"noreferrer noopener\">block theme<\/a>. It&#8217;s not directly insertable from the page\/post Editor, only in the Site Editor. Below is an example implementation. <\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-container-core-group-is-layout-47e5a185 wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group has-polar-background-color has-background is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-931901aa wp-block-group-is-layout-flex\" style=\"padding-top:10px;padding-bottom:10px\">\n<p><code>functions.php<\/code><\/p>\n<\/div>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-code-table shcb-line-numbers\"><span class='shcb-loc'><span>register_block_pattern(\n<\/span><\/span><span class='shcb-loc'><span>    <span class=\"hljs-string\">'example-theme\/page-creation-pattern'<\/span>,\n<\/span><\/span><span class='shcb-loc'><span>    <span class=\"hljs-keyword\">array<\/span>(\n<\/span><\/span><span class='shcb-loc'><span>        <span class=\"hljs-string\">'title'<\/span>      =&gt; __( <span class=\"hljs-string\">'A page creation pattern.'<\/span>, <span class=\"hljs-string\">'example-theme'<\/span> ),\n<\/span><\/span><mark class='shcb-loc'><span>        <span class=\"hljs-string\">'blockTypes'<\/span> =&gt; <span class=\"hljs-keyword\">array<\/span>( <span class=\"hljs-string\">'core\/post-content'<\/span> ),\n<\/span><\/mark><span class='shcb-loc'><span>        <span class=\"hljs-string\">'content'<\/span>    =&gt; <span class=\"hljs-string\">'&lt;!-- Insert Pattern Content --&gt;'<\/span>,\n<\/span><\/span><span class='shcb-loc'><span>    )\n<\/span><\/span><span class='shcb-loc'><span>);\n<\/span><\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Folder Method<\/h3>\n\n\n\n<p>The <a href=\"https:\/\/make.wordpress.org\/core\/2022\/05\/02\/new-features-for-working-with-patterns-and-themes-in-wordpress-6-0\/\" target=\"_blank\" rel=\"noreferrer noopener\">second method<\/a> is explicitly designed for block themes where patterns can be automatically registered by WordPress if placed in the <code>patterns\/<\/code> folder in a theme&#8217;s root directory. With this implementation, you represent each pattern by its own PHP file, and the property syntax is slightly different.<\/p>\n\n\n\n<p>Instead of an array structure, we use the property <code>Block Types<\/code> and a comma-separated list of block names that the pattern is used with, for example, <code>core\/paragraph, core\/header<\/code>. Again, for page creation patterns, we only need to specify <code>core\/post-content<\/code>.<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-container-core-group-is-layout-47e5a185 wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group has-polar-background-color has-background is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-931901aa wp-block-group-is-layout-flex\" style=\"padding-top:10px;padding-bottom:10px\">\n<p><code>patterns\/page-creation-pattern.php<\/code><\/p>\n<\/div>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-code-table shcb-line-numbers\"><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\">\/**<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> * Title: A page creation pattern.<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> * Slug: example-theme\/page-creation-pattern<\/span><\/span>\n<\/span><\/span><mark class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> * Block Types: core\/post-content<\/span><\/span>\n<\/span><\/mark><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> *\/<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-meta\">?&gt;<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"hljs-comment\">&lt;!-- Insert Pattern Content --&gt;<\/span>\n<\/span><\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n\n<p>Both methods of pattern registration are valid and will be used throughout this article. That said, if you are building a block theme, the second method is generally preferred. You might as well let WordPress handle the registration for you.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pages\">Example: Pages<\/h2>\n\n\n\n<p>Now that we know how page creation patterns are registered, we should build a couple. Let&#8217;s start by looking at the patterns included with the Twenty Twenty-Two theme. The screenshots below show that there are quite a few patterns in the &#8220;Pages&#8221; category. <\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1654\" height=\"943\" src=\"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-explorer.jpg\" alt=\"Patterns in the &quot;Pages&quot; category registered by the Twenty Twenty-Two theme.\" class=\"wp-image-4738\" srcset=\"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-explorer.jpg 1654w, https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-explorer-300x171.jpg 300w, https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-explorer-1024x584.jpg 1024w, https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-explorer-768x438.jpg 768w, https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-explorer-1536x876.jpg 1536w\" sizes=\"auto, (max-width: 1654px) 100vw, 1654px\" \/><figcaption class=\"wp-element-caption\">Patterns in the &#8220;Pages&#8221; category registered by the Twenty Twenty-Two theme.<\/figcaption><\/figure>\n\n\n\n<p>Each pattern is designed to encompass an entire page and would be a perfect candidate to become a page creation pattern. Unfortunately, Twenty Twenty-Two was built before WordPress 6.0 when this functionality did not exist. We can now fix that.<\/p>\n\n\n\n<p>Twenty Twenty-Two uses the original method of registering patterns, and therefore each pattern file is located in the <code>inc\/patterns\/<\/code> folder. All patterns are then registered programmatically in the <code>block-patterns.php<\/code> file using the  <code>register_block_pattern()<\/code> function. The folder structure looks something like this. <\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-container-core-group-is-layout-47e5a185 wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group has-polar-background-color has-background is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-931901aa wp-block-group-is-layout-flex\" style=\"padding-top:10px;padding-bottom:10px\">\n<p><code>twentytwentytwo\/<\/code><\/p>\n<\/div>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css shcb-code-table shcb-line-numbers\"><span class='shcb-loc'><span><span class=\"hljs-selector-tag\">twentytwentytwo<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u251c\u2500\u2500 <span class=\"hljs-selector-tag\">assets<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2514\u2500\u2500 ...\n<\/span><\/span><span class='shcb-loc'><span>\u251c\u2500\u2500 <span class=\"hljs-selector-tag\">inc<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">patterns<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2502   \u251c\u2500\u2500 ...\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2502   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">page-about-large-image-and-buttons<\/span><span class=\"hljs-selector-class\">.php<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2502   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">page-about-links-dark<\/span><span class=\"hljs-selector-class\">.php<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2502   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">page-about-links<\/span><span class=\"hljs-selector-class\">.php<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2502   \u2514\u2500\u2500 ...\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2514\u2500\u2500 <span class=\"hljs-selector-tag\">block-patterns<\/span><span class=\"hljs-selector-class\">.php<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2514\u2500\u2500 ...\n<\/span><\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n\n<p>The theme designers conveniently used prefixes, making it easy for us to identify patterns in the &#8220;Pages&#8221; category. All we need to do is open each pattern file with the <code>page-<\/code> prefix and add the appropriate <code>blockTypes<\/code> property. See the example below.<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-container-core-group-is-layout-47e5a185 wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group has-polar-background-color has-background is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-931901aa wp-block-group-is-layout-flex\" style=\"padding-top:10px;padding-bottom:10px\">\n<p><code><strong>twentytwentytwo\/inc\/patterns\/page-about-links<\/strong>.php<\/code><\/p>\n<\/div>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-code-table shcb-line-numbers\"><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\">\/**<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> * About page links<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> *\/<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-keyword\">array<\/span>(<\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\">\t<span class=\"hljs-string\">'title'<\/span>      =&gt; __( <span class=\"hljs-string\">'About page links'<\/span>, <span class=\"hljs-string\">'twentytwentytwo'<\/span> ),<\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\">\t<span class=\"hljs-string\">'categories'<\/span> =&gt; <span class=\"hljs-keyword\">array<\/span>( <span class=\"hljs-string\">'pages'<\/span>, <span class=\"hljs-string\">'buttons'<\/span> ),<\/span>\n<\/span><\/span><mark class='shcb-loc'><span><span class=\"php\">\t<span class=\"hljs-string\">'blockTypes'<\/span> =&gt; <span class=\"hljs-keyword\">array<\/span>( <span class=\"hljs-string\">'core\/post-content'<\/span> ),<\/span>\n<\/span><\/mark><span class='shcb-loc'><span><span class=\"php\">\t<span class=\"hljs-string\">'content'<\/span>    =&gt; <span class=\"hljs-string\">'...'<\/span>,<\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\">);<\/span>\n<\/span><\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n\n<p>Then we need to repeat the same process for each other pattern with the <code>page-<\/code> prefix.<\/p>\n\n\n\n<p>Now when a user creates a new page in WordPress, every pattern in the &#8220;Pages&#8221; category will now show up in the pattern modal. No more blank canvas.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1442\" height=\"816\" src=\"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-normal.gif\" alt=\"How to insert Page Creation patterns in WordPress 6.0\" class=\"wp-image-4690\"\/><figcaption class=\"wp-element-caption\">How to insert Page Creation patterns in WordPress 6.0<\/figcaption><\/figure>\n\n\n\n<p>Note that you can simply dismiss the pattern modal, but this interface provides users with a great starting point for page design. But what about post and custom post-types? <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"post-types\">Example: Additional Post Types<\/h2>\n\n\n\n<p>As mentioned in the overview, page creation patterns are only available to pages as of WordPress 6.0. The modal will not appear on newly created posts or custom post-types. However, the implementation was expanded and is available in the <a href=\"https:\/\/wordpress.org\/plugins\/gutenberg\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gutenberg<\/a> plugin.<\/p>\n\n\n\n<p>To apply a page creation pattern to a specific post-type, you need to add  the property <code>postTypes<\/code> or <code>Post Types<\/code>, depending on how you are registering the pattern. So, if you created a design that should only be displayed on posts, you would add <code>Post Types: post<\/code>. If the pattern should be displayed on both pages and posts, you will set <code>Post Types: post page<\/code>.<\/p>\n\n\n\n<p>Let&#8217;s consider the example where we have the custom post-type <code>book<\/code>. We have created a few patterns, and using the folder registration method have added them to the Twenty Twenty-Two theme. The folder structure looks something like this. <\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-container-core-group-is-layout-47e5a185 wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group has-polar-background-color has-background is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-931901aa wp-block-group-is-layout-flex\" style=\"padding-top:10px;padding-bottom:10px\">\n<p><code>twentytwentytwo\/<\/code><\/p>\n<\/div>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css shcb-code-table shcb-line-numbers\"><span class='shcb-loc'><span><span class=\"hljs-selector-tag\">twentytwentytwo<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u251c\u2500\u2500 <span class=\"hljs-selector-tag\">assets<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2514\u2500\u2500 ...\n<\/span><\/span><span class='shcb-loc'><span>\u251c\u2500\u2500 <span class=\"hljs-selector-tag\">inc<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2514\u2500\u2500 ...\n<\/span><\/span><span class='shcb-loc'><span>\u251c\u2500\u2500 <span class=\"hljs-selector-tag\">patterns<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">book-multiple<\/span><span class=\"hljs-selector-class\">.php<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u251c\u2500\u2500 <span class=\"hljs-selector-tag\">book-single<\/span><span class=\"hljs-selector-class\">.php<\/span>\n<\/span><\/span><span class='shcb-loc'><span>\u2502   \u2514\u2500\u2500 ...\n<\/span><\/span><span class='shcb-loc'><span>\u2514\u2500\u2500 ...\n<\/span><\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n\n<p>In each pattern designed for books, both the <code>Block Types<\/code> and <code>Post Types<\/code> properties have been set like so. <\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-container-core-group-is-layout-47e5a185 wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group has-polar-background-color has-background is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-931901aa wp-block-group-is-layout-flex\" style=\"padding-top:10px;padding-bottom:10px\">\n<p><code><strong>twentytwentytwo\/patterns\/book-multiple<\/strong>.php<\/code><\/p>\n<\/div>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-code-table shcb-line-numbers\"><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\">\/**<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> * Title: Multiple book pattern.<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> * Slug: twentytwentytwo\/book-multiple<\/span><\/span>\n<\/span><\/span><mark class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> * Block Types: core\/post-content<\/span><\/span>\n<\/span><\/mark><mark class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> * Post Types: book<\/span><\/span>\n<\/span><\/mark><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-comment\"> *\/<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"php\"><span class=\"hljs-meta\">?&gt;<\/span><\/span>\n<\/span><\/span><span class='shcb-loc'><span><span class=\"hljs-comment\">&lt;!-- Multiple Book Pattern Content --&gt;<\/span>\n<\/span><\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n\n<p>Now when a user goes to create a new book, they are presented with the modal featuring only the page creation patterns designed for the <code>book<\/code> custom post-type. Notice how the page creation patterns set in the previous example are not shown.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-full is-style-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1442\" height=\"816\" src=\"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-cpt-compressed.gif\" alt=\"Define Page Creation patterns for specific post types.\" class=\"wp-image-4692\"\/><figcaption class=\"wp-element-caption\">Define Page Creation patterns for specific post types.<\/figcaption><\/figure>\n\n\n\n<p>No blank canvas and no fumbling through the Pattern Explorer to find the patterns designed for books. The correct layouts are immediately at the user&#8217;s fingertips. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Page creation patterns are simple to implement and can be an extremely valuable addition to a theme or client site. They make content creation easier, and page creation patterns encourage consistency. Rather than designing from scratch or choosing from a broad library of patterns, users are presented with specific layouts crafted for the post-type they are creating. Combine this functionality with <a href=\"https:\/\/wpengine.com\/builders\/block-locking-api\/\">block locking<\/a>, and you could present users with an extremely curated editing experience.<\/p>\n\n\n\n<p>If you have designed a theme with patterns but have not employed the <code>Block Types<\/code> property, consider if any can become page creation patterns. <\/p>\n\n\n\n<p>External links referenced in this article and other related resources are listed below. In part three of this article series, we will cover <a href=\"https:\/\/wpengine.com\/builders\/semantic-patterns\/\">semantic patterns<\/a>, and if you missed it, be sure to check out part one, which covered <a href=\"https:\/\/wpengine.com\/builders\/wordpress-contextual-patterns\/\">contextual patterns<\/a>.<\/p>\n\n\n\n<p>That\u2019s all for now. If you end up designing a page creation pattern for a future project\u2014tag me on Twitter <a href=\"https:\/\/twitter.com\/nickmdiego\" target=\"_blank\" rel=\"noreferrer noopener\">@nickmdiego<\/a>, and I would love to take a look!<\/p>\n\n\n\n<div class=\"wp-block-group has-polar-background-color has-background is-layout-flow wp-container-core-group-is-layout-2c003d4a wp-block-group-is-layout-flow\" style=\"margin-bottom:50px;padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px\">\n<p class=\"has-large-font-size\"><strong><strong>External Resources<\/strong><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wordpress.tv\/2022\/06\/13\/nick-diego-builder-basics-everything-you-need-to-know-about-patterns\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress TV video on block patterns<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/make.wordpress.org\/core\/2022\/05\/02\/new-features-for-working-with-patterns-and-themes-in-wordpress-6-0\/\" target=\"_blank\" rel=\"noreferrer noopener\">Developer Note for pattern registration in block themes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/make.wordpress.org\/core\/2022\/05\/03\/page-creation-patterns-in-wordpress-6-0\/\" target=\"_blank\" rel=\"noreferrer noopener\">Developer Note on page creation patterns<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developer.wordpress.org\/block-editor\/reference-guides\/block-api\/block-patterns\/\" target=\"_blank\" rel=\"noreferrer noopener\">Block Editor Handbook article on patterns<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developer.wordpress.org\/block-editor\/how-to-guides\/themes\/block-theme-overview\/\" target=\"_blank\" rel=\"noreferrer noopener\">Block Editor Handbook article on block themes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_block_pattern\/\" target=\"_blank\" rel=\"noreferrer noopener\">WordPress Code Reference on pattern registration<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Learn what &#8220;page creation&#8221; patterns are and how to build them.<\/p>\n","protected":false},"author":5,"featured_media":4688,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_EventAllDay":false,"_EventTimezone":"","_EventStartDate":"","_EventEndDate":"","_EventStartDateUTC":"","_EventEndDateUTC":"","_EventShowMap":false,"_EventShowMapLink":false,"_EventURL":"","_EventCost":"","_EventCostDescription":"","_EventCurrencySymbol":"","_EventCurrencyCode":"","_EventCurrencyPosition":"","_EventDateTimeSeparator":"","_EventTimeRangeSeparator":"","_EventOrganizerID":[],"_EventVenueID":[],"_OrganizerEmail":"","_OrganizerPhone":"","_OrganizerWebsite":"","_VenueAddress":"","_VenueCity":"","_VenueCountry":"","_VenueProvince":"","_VenueState":"","_VenueZip":"","_VenuePhone":"","_VenueURL":"","_VenueStateProvince":"","_VenueLat":"","_VenueLng":"","_VenueShowMap":false,"_VenueShowMapLink":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4677","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What are Page Creation Patterns in WordPress?<\/title>\n<meta name=\"description\" content=\"Learn how to build &quot;page creation&quot; patterns in part two of our three-part series on advanced patterns in WordPress.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wpengine.com\/builders\/page-creation-patterns\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What are Page Creation Patterns in WordPress?\" \/>\n<meta property=\"og:description\" content=\"Learn how to build &quot;page creation&quot; patterns in part two of our three-part series on advanced patterns in WordPress.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wpengine.com\/builders\/page-creation-patterns\/\" \/>\n<meta property=\"og:site_name\" content=\"Builders\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-01T15:42:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-14T15:57:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-opengraph.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Nick Diego\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"What are Page Creation Patterns in WordPress?\" \/>\n<meta name=\"twitter:description\" content=\"Learn how to build &quot;page creation&quot; patterns in part two of our three-part series on advanced patterns in WordPress.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-opengraph.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@nickmdiego\" \/>\n<meta name=\"twitter:site\" content=\"@wpebuilders\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nick Diego\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/\"},\"author\":{\"name\":\"Nick Diego\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#\\\/schema\\\/person\\\/ec4573512f14a40d8ec517f312d1879b\"},\"headline\":\"What are Page Creation Patterns in WordPress?\",\"datePublished\":\"2022-09-01T15:42:26+00:00\",\"dateModified\":\"2023-04-14T15:57:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/\"},\"wordCount\":1373,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/wp-content\\\/uploads\\\/page-creation-pattern-featured-image.jpg\",\"articleSection\":[\"WordPress\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/\",\"name\":\"What are Page Creation Patterns in WordPress?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/wp-content\\\/uploads\\\/page-creation-pattern-featured-image.jpg\",\"datePublished\":\"2022-09-01T15:42:26+00:00\",\"dateModified\":\"2023-04-14T15:57:40+00:00\",\"description\":\"Learn how to build \\\"page creation\\\" patterns in part two of our three-part series on advanced patterns in WordPress.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/wp-content\\\/uploads\\\/page-creation-pattern-featured-image.jpg\",\"contentUrl\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/wp-content\\\/uploads\\\/page-creation-pattern-featured-image.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/page-creation-patterns\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What are Page Creation Patterns in WordPress?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#website\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/\",\"name\":\"Builders\",\"description\":\"Reimagining the way we build with WordPress.\",\"publisher\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#organization\",\"name\":\"WP Engine\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/WP-Engine-Horizontal@2x.png\",\"contentUrl\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/WP-Engine-Horizontal@2x.png\",\"width\":348,\"height\":68,\"caption\":\"WP Engine\"},\"image\":{\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/wpebuilders\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCh1WuL54XFb9ZI6m6goFv1g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/#\\\/schema\\\/person\\\/ec4573512f14a40d8ec517f312d1879b\",\"name\":\"Nick Diego\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cf33028d58e055272db2100732089b772bb9887c69e916b06512473ed3e4861?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cf33028d58e055272db2100732089b772bb9887c69e916b06512473ed3e4861?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9cf33028d58e055272db2100732089b772bb9887c69e916b06512473ed3e4861?s=96&d=mm&r=g\",\"caption\":\"Nick Diego\"},\"description\":\"Nick Diego is a Sr. Developer Advocate at WP Engine. He can be found creating educational content, building plugins and themes, and contributing to WordPress Core. Connect with him on Twitter, LinkedIn, or WordPress Slack.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/nickmdiego\"],\"url\":\"https:\\\/\\\/wpengine.com\\\/builders\\\/author\\\/nick-diego\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What are Page Creation Patterns in WordPress?","description":"Learn how to build \"page creation\" patterns in part two of our three-part series on advanced patterns in WordPress.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/","og_locale":"en_US","og_type":"article","og_title":"What are Page Creation Patterns in WordPress?","og_description":"Learn how to build \"page creation\" patterns in part two of our three-part series on advanced patterns in WordPress.","og_url":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/","og_site_name":"Builders","article_published_time":"2022-09-01T15:42:26+00:00","article_modified_time":"2023-04-14T15:57:40+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-opengraph.jpg","type":"image\/jpeg"}],"author":"Nick Diego","twitter_card":"summary_large_image","twitter_title":"What are Page Creation Patterns in WordPress?","twitter_description":"Learn how to build \"page creation\" patterns in part two of our three-part series on advanced patterns in WordPress.","twitter_image":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-patterns-opengraph.jpg","twitter_creator":"@nickmdiego","twitter_site":"@wpebuilders","twitter_misc":{"Written by":"Nick Diego","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/#article","isPartOf":{"@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/"},"author":{"name":"Nick Diego","@id":"https:\/\/wpengine.com\/builders\/#\/schema\/person\/ec4573512f14a40d8ec517f312d1879b"},"headline":"What are Page Creation Patterns in WordPress?","datePublished":"2022-09-01T15:42:26+00:00","dateModified":"2023-04-14T15:57:40+00:00","mainEntityOfPage":{"@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/"},"wordCount":1373,"commentCount":0,"publisher":{"@id":"https:\/\/wpengine.com\/builders\/#organization"},"image":{"@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/#primaryimage"},"thumbnailUrl":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-featured-image.jpg","articleSection":["WordPress"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wpengine.com\/builders\/page-creation-patterns\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/","url":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/","name":"What are Page Creation Patterns in WordPress?","isPartOf":{"@id":"https:\/\/wpengine.com\/builders\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/#primaryimage"},"image":{"@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/#primaryimage"},"thumbnailUrl":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-featured-image.jpg","datePublished":"2022-09-01T15:42:26+00:00","dateModified":"2023-04-14T15:57:40+00:00","description":"Learn how to build \"page creation\" patterns in part two of our three-part series on advanced patterns in WordPress.","breadcrumb":{"@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wpengine.com\/builders\/page-creation-patterns\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/#primaryimage","url":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-featured-image.jpg","contentUrl":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/page-creation-pattern-featured-image.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/wpengine.com\/builders\/page-creation-patterns\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wpengine.com\/builders\/"},{"@type":"ListItem","position":2,"name":"What are Page Creation Patterns in WordPress?"}]},{"@type":"WebSite","@id":"https:\/\/wpengine.com\/builders\/#website","url":"https:\/\/wpengine.com\/builders\/","name":"Builders","description":"Reimagining the way we build with WordPress.","publisher":{"@id":"https:\/\/wpengine.com\/builders\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wpengine.com\/builders\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/wpengine.com\/builders\/#organization","name":"WP Engine","url":"https:\/\/wpengine.com\/builders\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wpengine.com\/builders\/#\/schema\/logo\/image\/","url":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/2024\/05\/WP-Engine-Horizontal@2x.png","contentUrl":"https:\/\/wpengine.com\/builders\/wp-content\/uploads\/2024\/05\/WP-Engine-Horizontal@2x.png","width":348,"height":68,"caption":"WP Engine"},"image":{"@id":"https:\/\/wpengine.com\/builders\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/wpebuilders","https:\/\/www.youtube.com\/channel\/UCh1WuL54XFb9ZI6m6goFv1g"]},{"@type":"Person","@id":"https:\/\/wpengine.com\/builders\/#\/schema\/person\/ec4573512f14a40d8ec517f312d1879b","name":"Nick Diego","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9cf33028d58e055272db2100732089b772bb9887c69e916b06512473ed3e4861?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9cf33028d58e055272db2100732089b772bb9887c69e916b06512473ed3e4861?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9cf33028d58e055272db2100732089b772bb9887c69e916b06512473ed3e4861?s=96&d=mm&r=g","caption":"Nick Diego"},"description":"Nick Diego is a Sr. Developer Advocate at WP Engine. He can be found creating educational content, building plugins and themes, and contributing to WordPress Core. Connect with him on Twitter, LinkedIn, or WordPress Slack.","sameAs":["https:\/\/x.com\/nickmdiego"],"url":"https:\/\/wpengine.com\/builders\/author\/nick-diego\/"}]}},"_links":{"self":[{"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/posts\/4677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/comments?post=4677"}],"version-history":[{"count":0,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/posts\/4677\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/media\/4688"}],"wp:attachment":[{"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/media?parent=4677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/categories?post=4677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpengine.com\/builders\/wp-json\/wp\/v2\/tags?post=4677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}