2012-11-23 43 views
1

我正在寻找一个WP功能,它将只读参数添加到所有页面的标题输入中,这将使页面的标题不可更改。使Wordpress页面的标题只读

非常感谢。

+0

为什么你想让你的标题只读? – RTB

+0

避免可能的错误会很有用。最终的结果是为别人使用,没有任何WP经验的人,所以... –

+0

没有任何意义,你想CMS不是CMS吗?告诉你的客户不要编辑标题栏。每天为我工作。 – RTB

回答

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']。当您使用admin_enqueue_scripts检查页面时,您还可以利用$hook参数。 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'); 
    } 
}); 
+0

非常感谢,但是,我试了一下,发现以下错误: 警告:缺少wp_register_script()的参数2 –

+0

@HenriqueFoletto第二个参数需要作为脚本的路径...您知道如何得到那个?尝试刷新页面以查看我更新的答案。 –

+0

哇,对不起,我忘了,那么笨,我现在正在尝试 –

2

没有必要让一个单独的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');