我在玩弄每页使用一个自定义模板。(因为我需要每页加载不同的帖子类型)。
当创建一个新页面,并通过页面属性将我的自定义模板链接到它时,一切都正常。我在新页面上看到了应用的特定模板。
现在,在现有页面(=我的生产页面)上选择我的特定模板时,它不起作用。。。它只显示索引的内容。php。
我已经找了好几个小时了。。。清除缓存等没有帮助。删除页面并重新创建也没有什么好运气。(网站位于SiteGround上)
编辑:将父级(在页面属性框中)添加到我的页面时,将加载正确的tempalte。。。但为什么不在我的根页面上呢?
EDIT2:另外,我的Woocommerce‘shop’页面不再加载,似乎相关,它正在使用索引。php而不是Woocommerce本身的模板。
EDIT3:我发现了这个:WP is not using the select custom template.php that its selected for a page-&燃气轮机;我也确实使用了与我的页面同名的自定义帖子类型,这可能就是问题所在。但为什么WooCommerce使用的页面“shop”仍然使用索引,我会遇到同样的问题。php模板?我没有自定义的帖子类型“shop”。。。
SO网友:ktscript
作为一种解决方案,您可以使用段塞名称为一组页面完全自动选择模板:
add_filter(\'request\', function( $vars ) {
$slug = explode(\'/\', explode(\'?\', $_SERVER[\'REQUEST_URI\'])[0]);
array_pop ($slug);
$temp_base = "...first_part_template_name...";
$temp_slug = array_pop ($slug);
if (file_exists(get_template_directory().\'/\'.$template.\'-\'.$temp_cat.\'.php\')) {
get_template_part( $temp_base, $temp_slug );
}
}