我想你能做的就是if/else
索引中的语句。php调用单个。php文件作为模板部件重要的是,您希望将关节条件(蓝色和红色)作为条件列表中的第一个条件请注意,在get\\u template\\u部分中调用的you have name需要与要检索的文件关联的slug匹配。如果您的单个页面的php文件single-red.php
鼻涕虫会\'single-red\'
, 没有.php
.
控制三种可能性
if ( in_category(\'red\') && in_category(\'blue\') ) {
get_template_part( \'single-red\' ); //both
} elseif ( in_category(\'red\') ) {
get_template_part( \'single-red\' ); //just red
} else {
get_template_part( \'single-blue\' ); // just blue
}
或者更优雅地说,如果你不想只跟踪红色:
仅控制两种可能性
if ( in_category(\'red\') ) {
get_template_part( \'single-red\' ); // just red OR blue and red
} elseif ( in_category(\'blue\'){
get_template_part( \'single-blue\' ); //just blue
}
请注意,您应该调整if语句,以处理您希望它分析的类别。如果你只有“红色”和“蓝色”两个类别,那么你就不需要最后的“else”。但是,如果你的帖子既不是“红色”,也不是“蓝色”,并且你希望它们的样式不同于红色和蓝色,那么你可能想做一些我在下面展示的事情。请注意,您需要第三个php文件,用一个slug“single”(如single.php)调用,这样才能工作:
处理第三个不同于其他两个的默认类别
if ( in_category(\'red\') ) {
get_template_part( \'single-red\' ); // just red OR blue and red
} elseif ( in_category(\'blue\'){
get_template_part( \'single-blue\' ); //just blue
} else {
get_template_part( \'single\' ); // default single
}
还要注意的是,我在上面的代码中只为“in\\u category”使用了单参数if语句条件。我的意思是,在函数中;在“类别”中;,我只进入了“红色”或“蓝色”类别。如果您是;循环“;,但如果您不在循环中,则可能需要使用Codex建议的方法,使用两个参数,将帖子传递到函数“in\\u category”。因此,如果你不在循环中,你应该确保你有一个变量来存储你的帖子(例如。
$post
), 然后用这样的东西
in_category(\'red\', $post);
或
in_category(\'red\', $post->ID);
而不是简单地
in_category(\'red\')
.
我希望这能拉近你的距离!请尝试一下,如果遇到任何问题,请告诉我!