我正在使用wordpress主题,该主题使用公文包项目的自定义帖子类型和“集合”对它们进行分类。当我将鼠标悬停在要编辑的“集合”上时,它会在浏览器底部显示:taxonomy=portfoliosets,&;标签id=37(&;post\\U类型=投资组合。
我正试图使其标题图像将根据类别或标记而改变。我们有不同的节目,如“视频”和“杂志”等。
到目前为止,我已经尝试将以下内容添加到标题中。php:
<?php is_single( \'videos\' ) ?>
<style type="text/css">
.page_header {
background: url(\'mysite/image.jpg\') no-repeat scroll center center / cover #F9F9F9 ;
</style>
这似乎改变了一切的形象:
<?php if ( has_tag(\'videos\') && (in_category(\'portfolios\')) )
{ echo \' <style type="text/css">
.page_header {
background: url(\'mysite/image.jpg\') no-repeat scroll center center / cover #F9F9F9 ;
</style>\' ; } else { echo \'\' ; } ; ?>
这似乎给了错误-非常感谢任何帮助-谢谢
最合适的回答,由SO网友:Pieter Goosen 整理而成
这里有两件事很重要,你的分类法是portfoliosets
, 这意味着这不是一个内置类别。videos
和magazines
是分类法的术语。根据我对您的问题的理解,您需要根据帖子所属的术语,为不同的单帖子页面视图显示不同的标题图像。
基于此,您可以使用has_term( $term, $taxonomy, $post )
用于检查帖子是否属于某个术语的条件标记。我只想指出一个小错误,is_single( $post )
不使用术语作为参数,只使用帖子的ID、名称或slug。
我建议你利用is_singular( $post_types )
检查您的单个帖子页面。
在所有这些之后,您的查询应该是这样的
if(is_singular( \'portfolios\')){
if(has_term( \'videos\', \'portfoliosets\' )){
<---DO SOMETHING FOR TERM video--->
}elseif(has_term( \'magazine\', \'portfoliosets\' )){
<---DO SOMETHING FOR TERM magazine--->
}else{
<---DO SOMETHING ELSE FOR OTHER POSTS--->
}
}