禁止除 admin 以外的用户编辑页面标题

Disable editing page titles for users except admin

如何为除admin 之外的用户禁用页面标题编辑?他们应该能够看到页面标题,但不能在后端编辑页面标题。

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');
});