We used to build our sites with a CPT called panels, where would add reusable content for a site. With Gutenberg we don’t need to do this anymore as it comes with reusable blocks built in.
Getting to, and managing reusable blocks seems a little hidden at the moment, so we use the script below to add this to the navigation in the WordPress admin.
<?php function gomo_blocks_to_admin($args, $post_type){ if ( 'wp_block' !== $post_type ) { return $args; } if ($post_type == 'wp_block'){ $block_args = array( 'public' => true, 'show_ui' => true, 'exclude_from_search' => true, 'query_var' => true, 'show_in_rest' => true, 'publicly_queryable' => true, ); } return array_merge( $args, $block_args ); } add_filter('register_post_type_args', 'gomo_blocks_to_admin', 10, 2); function add_reusable_blocks_admin_menu() { add_menu_page( 'Reusable Blocks', 'Reusable Blocks', 'edit_posts', 'edit.php?post_type=wp_block', '', 'dashicons-editor-table', 22 ); } add_action( 'admin_menu', 'add_reusable_blocks_admin_menu' );
Search
Doing this with large blocks of content means the page will not show in the search results, unless we use the Relevanssi plugin.