在另一个页面中渲染块时如何加载古腾堡块样式
How to load Gutenberg block styles when rendering blocks in another page
我想将一个 post 的古腾堡块内容加载到自定义模板中。
两种方法我都试过了
首先渲染 post 内容:
$args = array(
'post_type' => 'page',
'id' => $post_id
);
$your_query = new WP_Query( $args );
while ( $your_query->have_posts() ) : $your_query->the_post();
the_content();
endwhile;
我也试过单独渲染每个块
$post = get_post($post_id);
$blocks = parse_blocks($post->post_content);
foreach ($blocks as $block) {
echo render_block($block);
}
在这两种情况下,它都呈现古腾堡内容,但不呈现相关样式。
在原始页面中,既有古腾堡块,也有古腾堡内联样式。
有没有办法在另一个页面中呈现块和块样式
使用 do_blocks() 以便调用 post 内容中的块渲染方法,并根据需要在自定义 post 模板中排队前端样式,例如:
$post = get_post($post_id);
echo do_blocks($post->post_content);
要确认样式 sheet 是否已排队等待加载,请使用:
global $wp_styles;
if ( $wp_styles->queue ){
// Print out a list of all the currently enqueued styles
echo '<pre>', print_r( $wp_styles->queue ), '</pre>';
}
我想将一个 post 的古腾堡块内容加载到自定义模板中。
两种方法我都试过了
首先渲染 post 内容:
$args = array(
'post_type' => 'page',
'id' => $post_id
);
$your_query = new WP_Query( $args );
while ( $your_query->have_posts() ) : $your_query->the_post();
the_content();
endwhile;
我也试过单独渲染每个块
$post = get_post($post_id);
$blocks = parse_blocks($post->post_content);
foreach ($blocks as $block) {
echo render_block($block);
}
在这两种情况下,它都呈现古腾堡内容,但不呈现相关样式。
在原始页面中,既有古腾堡块,也有古腾堡内联样式。 有没有办法在另一个页面中呈现块和块样式
使用 do_blocks() 以便调用 post 内容中的块渲染方法,并根据需要在自定义 post 模板中排队前端样式,例如:
$post = get_post($post_id);
echo do_blocks($post->post_content);
要确认样式 sheet 是否已排队等待加载,请使用:
global $wp_styles;
if ( $wp_styles->queue ){
// Print out a list of all the currently enqueued styles
echo '<pre>', print_r( $wp_styles->queue ), '</pre>';
}