一旦你说“编辑”,我想你不必担心新的帖子,只需编辑现有的帖子即可。
所以,我的想法是删除支持fot标题时,管理员是不允许的。
我将编写一个单独的函数,如果当前用户是想要的管理员,则返回true,这样可以在站点的不同部分使用它。
function is_preferred_admin() {
$u = wp_get_current_user();
// change \'admin\' with the wanted login here
return user_can($u, \'manage_options\') && $u->user_login === \'admin\';
}
add_action(\'load-post.php\', \'remove_title_support\');
function remove_title_support() {
if ( is_preferred_admin() ) return;
$scr = get_current_screen();
remove_post_type_support( $scr->post_type, \'title\' );
}
考虑到这会删除UI,但并不是真正的阻止功能。为此,请筛选
wp_insert_post_data
并防止标题更改:
add_filter(\'wp_insert_post_data\', \'prevent_edit_title\', 999, 2);
function prevent_edit_title( $new, $oldarr ) {
if( is_preferred_admin() ) return;
if ( ! isset($oldarr[\'ID\']) || empty($oldarr[\'ID\']) ) return;
$old = get_post($oldarr[\'ID\']);
$new[\'post_title\'] = $old->post_title; // no change allowed
$new[\'post_name\'] = $old->post_name; // no change allowed
return $new;
}