如何限制文章taxonomy术语选择,每层级仅可选中一个?
当前可实现效果
- 用户可选中多个分类术语(term)

预期实现效果
- 用户每层级仅可选中一个分类术语(第一层级仅选1个term,第二层级也仅选1个term)

实现环境:WordPress自定义分类法(taxonomy)
实现方案
方案1:JS控制(通用兼容)
通过后台挂载自定义JS脚本限制勾选逻辑,将以下代码加入主题functions.php即可:
add_action('admin_enqueue_scripts', function() { wp_add_inline_script('jquery', ' jQuery(document).on("change", "#taxonomy-你的分类法别名div input[type=checkbox]", function() { if (jQuery(this).is(":checked")) { jQuery(this).closest("ul").find("input[type=checkbox]").not(this).prop("checked", false); } }); '); });
将代码中的你的分类法别名替换为实际注册的自定义分类法别名即可生效,逻辑为勾选某一分类时自动取消同层级其他分类的选中状态。
方案2:分类法注册参数调整
WordPress 5.5及以上版本注册自定义分类法时,可将show_in_rest设为true,配合古腾堡编辑器的分类块设置单选规则,无需额外写代码即可实现层级单选效果。
内容的提问来源于stack exchange,提问作者user16909741
相关产品推荐
相关产品推荐

