好的,我正在尝试重写CPT模板文件。问题是,我正在处理的主题是以一种奇怪的方式设置的(或者至少是以一种我不太清楚的方式设置的),并且希望提取单个cpt的模板文件。php,无论我做什么。即使我为帖子指定了模板部分,单个cpt也会覆盖我选择的模板。
好吧,我开始在函数中重写这个模板。php。经过多次搜寻和反复试验,我发现:
function is_post_type($type){
global $wp_query;
if($type == get_post_type($wp_query->post->ID)) return true;
return false;
}
function template_override() {
if (is_single() && is_post_type(\'portfolio\')){
return locate_template(\'template-portfolio.php\');
}
if (is_single() && is_post_type(\'product\')){
return locate_template(\'woocommerce.php\');
}
}
add_filter(\'template_include\', \'template_override\');
这确实有效。。。但它有一个不幸的副作用,就是现在想用这个自定义模板覆盖我的所有页面。这就是为什么我把这个调用添加到一个主题woocommerce模板文件中,因为我起初以为它只是在搞乱帖子。。。但不,事实证明这会弄乱每一页。所以,很明显,我的代码中有些地方搞砸了。。。我就是不知道是什么。我尝试了大约一百万种其他变体来调用此模板文件,这是迄今为止唯一有效的一种。不幸的是,它似乎压倒了一切。那么,我错过了什么?