Retrieves Post Content block attributes from the current post template.
Source
function wp_get_post_content_block_attributes() {
global $post_ID;
$is_block_theme = wp_is_block_theme();
if ( ! $is_block_theme || ! $post_ID ) {
return null;
}
$template_slug = get_page_template_slug( $post_ID );
if ( ! $template_slug ) {
$post_slug = 'singular';
$page_slug = 'singular';
$template_types = get_block_templates();
foreach ( $template_types as $template_type ) {
if ( 'page' === $template_type->slug ) {
$page_slug = 'page';
}
if ( 'single' === $template_type->slug ) {
$post_slug = 'single';
}
}
$what_post_type = get_post_type( $post_ID );
switch ( $what_post_type ) {
case 'page':
$template_slug = $page_slug;
break;
default:
$template_slug = $post_slug;
break;
}
}
$current_template = get_block_templates( array( 'slug__in' => array( $template_slug ) ) );
if ( ! empty( $current_template ) ) {
$template_blocks = parse_blocks( $current_template[0]->content );
$post_content_block = wp_get_first_block( $template_blocks, 'core/post-content' );
if ( isset( $post_content_block['attrs'] ) ) {
return $post_content_block['attrs'];
}
}
return null;
}
User Contributed Notes
You must log in before being able to contribute a note or feedback.