我目前正在建立的网站上有两种不同的帖子类型——“press”和“blog”。我使用了以下代码,插入到我的子主题函数中。php文件,以获取使用“single press.php”模板的“press”帖子:
add_filter( \'single_template\', function ( $single_template ) {
$parent = \'7\';
$categories = get_categories( \'child_of=\' . $parent );
$cat_names = wp_list_pluck( $categories, \'name\' );
if ( has_category( \'press\' ) || has_category( $cat_names ) ) {
$single_template = dirname( __FILE__ ) . \'/single-press.php\';
}
return $single_template;
}, PHP_INT_MAX, 2 );
这确实有效,但我现在遇到的问题是,“博客”帖子(id为“6”,应该只使用single.php模板)也使用了这个特定于类别的模板。我尝试了很多不同的方法来纠正它,但到目前为止还没有任何运气,所以我想我应该在这里发帖,看看有没有人有什么想法。我的PHP技能不是很好,所以如果这只是我犯的一个基本错误的结果,我提前道歉,我没有抓住这个错误。非常感谢!