只读Wordpress Pages的标题

时间:2012-11-23 19:38:28

标签: wordpress

我正在寻找一个WP函数,它将Read-only参数添加到所有Pages的标题输入中,这将使Page的标题不可更改。

提前多多感谢。

2 个答案:

答案 0 :(得分:5)

这可以通过一些简单的JavaScript / jQuery来实现。创建一个名为admin_title_disable.js的文件,并在functions.php中对其进行排队。例如:

的functions.php:

wp_register_script('admin_title_disable', '/path/to/admin_title_disable.js');
function disableAdminTitle () {
  wp_enqueue_script('admin_title_disable');
}
add_action('admin_enqueue_scripts', 'disableAdminTitle');

现在,在你的js文件中:

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

这将设置具有disabled属性的帖子和页面标题输入字段。希望这有帮助!

如果要将此脚本限制为特定管理页面,请将add_action挂钩包含在比较$_GET['page']的条件中。您还可以利用$hook检查页面时可用的admin_enqueue_scripts参数。 See here

<强>更新::

WordPress使得在帖子和页面编辑屏幕之间分配有点棘手,但是有一个隐藏的输入可以利用。 :)这是jQuery的更新版本,只能在页面编辑屏幕上运行:

jQuery(document).ready(function ($) {
  //find the hidden post type input, and grab the value
  if($('#post_type').val() === 'page'){
    $('#title').attr('disabled','disabled');
  }
 });

答案 1 :(得分:3)

无需制作单独的js文件。将此添加到您的function.php将与Matthew所示的相同。

function admin_footer_hook(){
        ?>
    <script type="text/javascript">
        if(jQuery('#post_type').val() === 'post'){
    jQuery('#title').prop('disabled', true);
    }
    </script>
<?php
}
add_action( 'admin_footer-post.php', 'admin_footer_hook' );