在wp-admin中无需手动选择即可激活页面模板吗?

时间:2013-04-02 作者:Matt

我正在启动一个新的WordPress主题,我想知道是否有可能在代码中选择和激活特定页面的模板,而不是进入CMS并从下拉列表中手动选择它。我这样问是因为一旦我启动了主题,整个页面都不会有一个与之关联的模板,除非我手动选择它,并且我已经有访问我的网站的流量了。

2 个回复
SO网友:vancoder

您可能正在使用wp\\u insert\\u post创建页面。完成后,请执行

update_post_meta($id, \'_wp_page_template\', \'my_template.php\');

SO网友:ksemel

选项1(最佳选项):

如果每个页面都有不同的页面模板,可以将模板命名为“page-{slug}.php”,Wordpress将自动拾取这些模板,前提是尚未分配不同的页面模板。

例如:对于带有slug“About”的About页面,您的页面模板将命名为page About。php自动分配该页面。

请参见Wordpress Template Hierarchy 有关详细信息。

选项2(如果您有数据库访问权限,则为OK选项):

如果您要对多个页面使用特定的页面模板,或者由于某种原因无法将slug与文件名匹配,那么您必须做更多的工作。

如果您有数据库访问权限,则可以运行SQL来更新它们。例如,为每个页面写一行这样的内容,适当地替换post\\u id和meta\\u值:

UPDATE wp_postmeta SET meta_value = \'new-template.php\' WHERE meta_key = \'_wp_page_template\' AND post_id = 1234;
您还可以使用以下SQL删除所有现有的页面模板分配:

DELETE * FROM wp_postmeta WHERE meta_key = \'_wp_page_template\';
当然,在继续之前,请确保备份站点和数据库。

结束

相关推荐

Multiple Blog Pages

例如,一些WP Premium主题的预览网站会显示具有不同模板的多个博客页面。全宽博客页面中等图像博客页面Pinterest风格的博客页面。现在,他们如何做到这一点,并在一个网站上有多个“不同”风格的博客页面?谢谢,艾伦