2012-02-13 65 views
0

我正在爲客戶在Wordpress中創建一個後端界面。我想鏈接到「添加新頁面」,並且預先選擇了一個特定的自定義頁面模板,這樣他們就不需要從下拉菜單中選擇一個。這可能嗎?預選頁面模板in wordpress

回答

1

在這裏我看到兩個選項:

  1. 添加動作admin_head,你注入一些JavaScript來改變頁面模板下拉列表中的默認值。
  2. 將動作添加到save_postdocumentation),並讓您的功能更新正在保存的帖子的_wp_page_template元值。就像這樣:

    add_action('save_post', 'my_default_template'); 
    
    function my_default_template($post_id) { 
    
        //verify post is not a revision 
        if (!wp_is_post_revision($post_id)) { 
         update_post_meta($post_id, '_wp_page_template', 'your-page-template.php'); 
        } 
    } 
    

方法2的缺點是,該頁面將不得不在下拉顯示正確的模板之前保存一次。在您自己設置之前,您可能還必須檢查用戶是否實際選擇了自定義值。

0

入住:可溼性粉劑管理員/編輯外形advanced.php 有:

add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', $post_type, 'side', 'core'); 

如果你以任何方式刪除此metabox並用自己的,取代它在您的回調函數做修改傳遞參數$ post(設置所需的模板),然後調用原始肉箱回調(例如post_thumbnail_meta_box()函數)傳遞修改的$ post參數。 我認爲,如果您添加自己的'add_meta_boxes'操作(稱爲幾行下面的行),您將能夠替換那裏的原始metabox。