禁止管理员以外的用户编辑页面标题

问题描述

如何禁用除管理员以外的用户页面标题编辑?他们应该能够看到页面标题,但不能在后台编辑页面标题

function disableAdminTitle () {
    $user = wp_get_current_user();
    if(!in_array( 'administrator',(array) $user->roles )){
        wp_enqueue_script('admin_title_disable');
    }
}
add_action('admin_enqueue_scripts','disableAdminTitle');

function admin_footer_hook(){
        ?>
    <script type="text/javascript">
        jQuery(document).ready(function ($) {
  $('#title').attr('disabled','disabled');
});
    </script>
<?PHP
}
add_action( 'admin_footer-post.PHP','admin_footer_hook' );

解决方法

您可以将 Make Wordpress Pages's Titles readonly 中提到的解决方案与 user_can 一起使用。

,

你可以试试这个

wp_register_script('admin_title_disable','/path/to/admin_title_disable.js');
function disableAdminTitle () {
    $user = wp_get_current_user();
    if(!in_array( 'administrator',(array) $user->roles )){
        wp_enqueue_script('admin_title_disable');
    }
}
add_action('admin_enqueue_scripts','disableAdminTitle');

JS代码

jQuery(document).ready(function ($) {
  $('#title').attr('disabled','disabled');
});