我有一个阻止用户向自定义分类法添加新术语的函数,代码如下:
add_action( \'pre_insert_term\', \'prevent_terms\', 1, 2 );
function prevent_terms ( $term, $taxonomy ) {
if ( \'language\' === $taxonomy) {
return new WP_Error( \'term_addition_blocked\', __( \'You cannot add terms to this taxonomy\' ) );
}
return $term;
}
当您在自定义分类法页面(/wp admin/edit tags.php?taxonomy=language)上时,这可以正常工作,因为您看到了警告。
但是当你试图通过保存帖子来添加一个新术语时,你不会得到任何警告,这个术语根本不会被保存。我需要的是向这个函数添加一个警告,这样保存帖子的人就知道他不能向这个分类法添加新的术语。
有没有办法做到这一点?谢谢
最合适的回答,由SO网友:Alexander Holsgrove 整理而成
虽然这不会在您请求时显示警告,但您始终可以使用admin\\u head操作隐藏“添加新”链接:
function yourprefix_admin_head() {
echo \'<style>
#language-add-toggle {
display: none;
}
</style>\';
}
add_action(\'admin_head\', \'yourprefix_admin_head\');
元素ID是分类名称,后跟
-add-toggle
.
这对于大多数情况来说已经足够了,除非您认为您的用户有点狡猾。希望有帮助。