在过去的两天里,我一直在用这个来拉扯我的头发,搜索并没有找到任何解决问题的方法。
我想用<serverSideRender /> 在前端加载动态内容,并在Gutenberg编辑器中查看生成的内容。我用Gutenberg doc page.
以下是JS代码:
const { registerBlockType } = wp.blocks;
const { serverSideRender } = wp.serverSideRender
registerBlockType( \'gutenberg-examples/example-dynamic\', {
title: \'Example: last post\',
icon: \'megaphone\',
category: \'widgets\',
edit: function( props ) {
return [
<p>serverSideRender should appear here:</p>,
<serverSideRender
block="gutenberg-examples/example-dynamic"
attributes={ props.attributes }
/>
];
},
} );
PHP代码:
function gutenberg_examples_dynamic_render_callback( $attributes, $content ) {
$recent_posts = wp_get_recent_posts( array(
\'numberposts\' => 1,
\'post_status\' => \'publish\',
) );
if ( count( $recent_posts ) === 0 ) {
return \'No posts\';
}
$post = $recent_posts[ 0 ];
$post_id = $post[\'ID\'];
return sprintf(
\'<a class="wp-block-my-plugin-latest-post" href="%1$s">%2$s</a>\',
esc_url( get_permalink( $post_id ) ),
esc_html( get_the_title( $post_id ) )
);
}
function gutenberg_examples_dynamic() {
register_block_type( \'gutenberg-examples/example-dynamic\', array(
\'render_callback\' => \'gutenberg_examples_dynamic_render_callback\'
) );
}
add_action( \'init\', \'gutenberg_examples_dynamic\' );
前端按预期显示立柱。以下屏幕截图:
但在古腾堡,积木并不显示动态内容。理论上,我应该看到与前端相同的东西,对吗?还是我遗漏了什么?
这是我在古腾堡看到的:
如您所见,没有呈现任何动态内容,控制台中也没有任何错误。
我做错了什么?任何帮助都将不胜感激。
提前感谢