用 levelOptions 设置可选标题级别
从 WordPress 6.7 开始,带有标题级别下拉菜单的 WordPress 核心区块支持 levelOptions 属性。这适用于标题、站点标题、站点副标题、查询标题、文章标题和评论标题区块。levelOptions 接受一个由数字组成的数组,数字对应标题级别:1 表示 H1,2 表示 H2,以此类推。
该属性让你指定下拉菜单界面中应显示哪些标题级别,提供了一种轻量的编辑选项约束方式,无需引入区块弃用处理。已有标题级别会保留在标记中,levelOptions 只影响界面显示。
对非管理员隐藏 H1、H5 和 H6
下面的代码为除拥有 edit_theme_options 权限的用户(通常是管理员)之外的所有用户,禁用标题区块中的 H1、H5 和 H6 选项。这有助于防止内容创作者无意间添加多个 H1 元素,或使用原本不打算让他们使用的特定标题级别。
<?php
function devblog_modify_heading_levels_globally( $args, $block_type ) {
// Check if the current user is an Administrator.
$is_administrator = current_user_can( 'edit_theme_options' );
// Only proceed if the current block is a Heading and the user is not an Administrator.
if ( 'core/heading' !== $block_type || $is_administrator ) {
return $args;
}
// Disable H1, H5, and H6.
$args['attributes']['levelOptions']['default'] = [ 2, 3, 4 ];
return $args;
}
add_filter( 'register_block_type_args', 'devblog_modify_heading_levels_globally', 10, 2 );
可以将这段代码添加到主题的 functions.php 文件或自定义插件中。应用之后,编辑器中的最终效果如下。

© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END











暂无评论内容