Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wordpress中的预选页面模板_Wordpress - Fatal编程技术网

wordpress中的预选页面模板

wordpress中的预选页面模板,wordpress,Wordpress,我正在Wordpress中为客户创建后端界面。我想链接到“添加新(页面)”,并预先选择特定的自定义页面模板,这样他们就不需要从下拉列表中选择一个模板。这可能吗?我在这里看到两个选项: 在admin\u head中添加一个操作,在其中插入一些javascript以更改页面模板下拉列表的默认值 添加一个操作到save_post(),并让您的函数更新正在保存的帖子的\u wp_page_模板元值。像这样: add_action( 'save_post', 'my_default_template' )

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

我在这里看到两个选项:

  • admin\u head
    中添加一个操作,在其中插入一些javascript以更改页面模板下拉列表的默认值
  • 添加一个操作到
    save_post
    (),并让您的函数更新正在保存的帖子的
    \u wp_page_模板
    元值。像这样:

    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的缺点是,在下拉列表中显示正确的模板之前,页面必须保存一次。在自己设置自定义值之前,您可能还需要检查用户是否实际选择了自定义值。

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

    add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', $post_type, 'side', 'core');
    
    如果以任何方式删除此元盒并将其替换为自己的元盒,则回调函数会修改传递的参数$post(设置所需模板),然后调用传递修改的$post参数的原始meatbox回调函数(例如post_thumbnail_meta_box()函数)。 我认为,如果您添加自己的“添加元框”操作(称为下面的几行),您将能够替换其中的原始元框