我正在尝试开发一个带有自定义post类型的插件,可以在不同的主题中使用,这就是为什么要创建一个单post\\u类型。php模板文件是不可能的。自定义帖子类型有很多元字段,我想使用占位符放置这些字段。
此时,插件会查找默认页面。当前主题中的php模板。但通常模板都有额外的设置来设计我无法使用的页面,因为每个主题都以不同的方式工作。
我的想法是使用现有(未发布)页面作为自定义帖子类型的模板。通过向页面添加短代码(占位符),这些短代码将被自定义帖子类型的内容替换。我怎样才能做到这一点。
示例:
post: Template
post type: page
url: --not published--
content: <h1>[placeholder field="title"]</h1>
<p>Genre: [placeholder field="genre"]</p>
post: Terminator 2
post type: movie
meta genre: action
meta actor: Arnold
url: site.com/movie/terminator-2/
content: <h1>Terminator 2</h1>
<p>Genre: action</p>
我知道如何使用占位符,但如何使用模板页面作为模板,以便使用所用主题的所有功能。
<小时>Edit: 尝试解决方案:我添加了重写规则
global $wp,$wp_rewrite;
$wp->add_query_var(\'movieslug\');
$wp_rewrite->add_rule(\'(.*)movie/([^/]+)\', \'index.php?pagename=movie-template&movieslug=$matches[2]\', \'top\');
这似乎可行,我使用filter the\\u title来更改标题,但这不会更改
<title>
标签,这并不是一个真正的解决方案,任何想法都是受欢迎的。