2012-02-13 89 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。