向插件生成的页面添加自定义页面模板

时间:2016-09-20 作者:miotk

我有一个页面模板,它在整个网站上都能正常工作,而不是插件生成页面(如工作描述页面)的页面,因为我使用的插件是WP job Manager。我试图在主题的功能中包括php文件,也包括主题的模板,但是,没有显示任何内容,如果出现了,那么模板的内容将显示在导航栏上方?

不管怎样,我是否能够将这个页面和通过插件动态创建的任何其他页面包含在内,因为将有许多页面。

该插件创建一个自定义的帖子类型,该类型用于创建页面,而页面实际上并不存在于后端。

该插件位于wp内容/wp作业管理器/。。。页面模板位于wp内容/主题/测试主题/通用模板中。php

我试过的代码是<?php include(\'/wp-content/themes/test-theme/universal-template.php\'); ?> 我知道这不是包含文件的最佳方式,但我一直在这样做,直到我可以让它工作为止

2 个回复
SO网友:Aniruddha Gawade

您可以通过调用update_post_meta() 按键为‘_wp_page_template’.

或者在插入帖子时,您可以传递page_templatewp_insert_post().

请参见:https://developer.wordpress.org/reference/functions/wp_insert_post/#more-information

SO网友:davidb3rn

使用wp_insert_post()可以添加新帖子并使用现有主题。

  $new_page_id = array(
        \'post_title\'     => \'examplePage\',
        \'post_type\'      => \'custom_post\',
        \'post_name\'      => \'examplePage\',
        \'post_content\'   => \'\',
        \'post_status\'    => \'publish\',
        \'post_author\'    => get_user_by( \'id\', 1 )->user_id,
        \'menu_order\'     => 0,
        // Assign page template
        \'page_template\'  => "/wp-content/themes/test-theme/universal-template.php"


    ); 
    wp_insert_post($new_page_id);

相关推荐

Can I make plugins required?

我正在开发自己的Wordpress主题,将用于多个客户端。它有一个主题选项页面,这样我每次都可以轻松自定义网站,但我也会在我制作的每个网站上使用一些插件(如SEO插件、安全性等)。有没有办法让它们成为“必需的”,这样我就可以得到这些插件的列表,这样当我在新网站上安装主题时就不必在插件目录中找到它们了?