跳转到主要内容

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 ) 取反),将允许您限制您确实希望加载的区块。