我正在寻找一个WP函数,它将Read-only参数添加到所有Pages的标题输入中,这将使Page的标题不可更改。
提前多多感谢。
答案 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' );