wordpress中的预选页面模板

时间:2012-02-13 13:37:33

标签: wordpress

我正在为WordPress客户创建一个后端界面。我想链接到“添加新(页面)”,并预先选择一个特定的自定义页面模板,这样他们就不需要从下拉列表中选择一个。这可能吗?

2 个答案:

答案 0 :(得分: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');
        }
    }
    
  3. 方法2的缺点是在下拉列表中显示正确的模板之前必须保存页面一次。在设置之前,您可能还需要检查用户是否实际选择了自定义值。

答案 1 :(得分:0)

签到:wp-admin / edit-form-advanced.php 有:

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

如果您以任何方式删除此元数据并将其替换为您自己的元数据,您的回调函数会修改传递的param $ post(设置所需模板)然后调用原始的meatbox回调(例如post_thumbnail_meta_box()函数)传递修改后的$后param。 我想如果你添加自己的' add_meta_boxes'动作(在下面几行中称为),您将能够替换那里的原始元数据。