2012-11-23 74 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');