【发布时间】:2019-05-08 23:05:29
【问题描述】:
我正在为 WordPress Gutenberg 编辑器创建一些自定义动态块(在此 link 之后)。
我对这些块使用 PHP 渲染,这意味着我保存了这段代码:
save: function( props ) {
// Rendering in PHP
return;
},
通过这个回调调用渲染函数:
register_block_type( 'my-plugin/latest-post', array(
'render_callback' => 'my_plugin_render_block_latest_post',
) );
我不会发布功能代码,因为在这种情况下无关紧要。 (我愿意 一个 WP_Query 并显示一些自定义的帖子数据并返回一个 html 代码),
我的问题是 WP Gutenberg 从函数中获取输出并添加
<p> and <br> 标签(经典的 wpautop 行为)。
我的问题是:我怎样才能只为自定义块禁用它?我可以用这个:
remove_filter( 'the_content', 'wpautop' );
但我不想更改默认行为。
一些额外的发现。用于块渲染的 php 函数使用 get_the_excerpt()。一旦使用了这个函数(我假设发生在 get_the_content() ),就会应用 wpautop 过滤器并且块的 html 标记会变得混乱。
我不知道这是一个错误还是预期的行为,但有没有不涉及删除过滤器的简单解决方案? (例如,主题森林中的 ex 不允许删除此过滤器。)
【问题讨论】:
-
这是否只发生在您的自定义块中? wpautop 是否在回调中隐式使用?
-
刚刚编辑:我发现当您在 php 渲染函数上使用 get_the_excerpt 时会发生这种情况。
标签: wordpress wordpress-gutenberg gutenberg-blocks