Filtering Yoast Blocks
自 Yoast SEO 8.2 起,我们添加了前两个结构化数据块:常见问题解答块和操作指南块。
可用区块
目前,Yoast SEO 中提供以下区块:
| 区块 | 命名空间 |
|---|---|
| 常见问题解答块 | yoast/faq-block |
| 操作指南块 | yoast/how-to-block |
示例
虽然 WordPress 允许您使用 allowed_block_types 过滤器来筛选区块,但此过滤器存在一些限制。
筛选区块的更好方法是使用 JavaScript 实现。请注意,这也意味着您需要通过自己的插件或主题(例如 functions.php)中的 wp_enqueue_script 方法注册一个 JavaScript 文件,如下所示:
// MyCustomPlugin.php
<?php
// 您的插件代码在此处。
wp_enqueue_script(
'my-custom-blocks-filter',
plugins_url( 'js/MyCustomBlocksFilter.js', __FILE__ ),
[],
'1.0',
true
);
假设您只想从 Yoast 结构化数据块列表中加载常见问题解答块,并希望过滤掉操作指南块:
// js/MyCustomBlocksFilter.js
const hiddenBlocks = [ 'yoast/how-to-block' ];
wp.blocks.getBlockTypes().forEach( function( block ) {
if ( block.name && hiddenBlocks.includes( block.name ) ) {
wp.blocks.unregisterBlockType( block.name );
}
} );
反转 if 语句的逻辑(即对 hiddenBlocks.includes( block.name ) 取反),将允许您限制您确实希望加载的区块。