这是我遇到的一个基本问题,但我尝试了很多不同的功能,无法使用。
在我的wordpress网站上,我创建了一个名为“文件格式”的分类
在这个分类中我创建了这些术语(我认为这些是术语?)... PDF , MOV , PPT 和的 DOC
见下面的截图...
我无法弄清楚的问题是,我有一个简单的WP_Query循环,见下文......
<?php
$downloads = new WP_Query(array(
'post_type' => 'downloads',
'order' => 'ASC',
'posts_per_page' => -1
)); ?>
<?php if ($downloads->have_posts()) : ?>
<?php while ($downloads->have_posts()) : $downloads->the_post(); ?>
<!-- This is where my conditional statement will go, see below -->
<?php endwhile; ?>
<?php unset($downloads); endif; wp_reset_query(); ?>
...在这个循环中,我想有条件地显示一个图标,具体取决于分配给该帖子的术语。
例如,如果帖子已被指定为“PDF”字词,那么我希望显示我的PDF图标图像等。
请参阅下面的条件语句PHP,它位于上面的循环中。但我无法弄清楚为什么最后一个条件总是得到回应。救命啊!
<?php
if (term_exists(array(
'term_id' => 4,
'term_taxonomy' => 'file-formats'
))) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/pdf.png" alt="" class="file-format-icon">' ;
}
else if (term_exists(array(
'term_id' => 6,
'term_taxonomy' => 'file-formats'
))) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/ppt.png" alt="" class="file-format-icon">'
}
else if (term_exists(array(
'term_id' => 5,
'term_taxonomy' => 'file-formats'
))) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/mov.png" alt="" class="file-format-icon">' ;
}
else {
echo 'nothing' ;
}
?>
我也试过这个......
<?php
if (is_tax('file-formats','pdf')) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/pdf.png" alt="" class="file-format-icon">' ;
}
else if (is_tax('file-formats','ppt')) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/ppt.png" alt="" class="file-format-icon">' ;
}
else if (is_tax('file-formats','mov')) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/mov.png" alt="" class="file-format-icon">' ;
}
else {
echo 'nothing' ;
}
?>
这......
<?php
if (is_object_in_taxonomy( 'pdf', 'file-formats' )) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/pdf.png" alt="" class="file-format-icon">' ;
}
else if (is_object_in_taxonomy( 'ppt', 'file-formats' )) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/ppt.png" alt="" class="file-format-icon">' ;
}
else if (is_object_in_taxonomy( 'mov', 'file-formats' )) {
echo '<img src="' . content_url( '/themes/mytheme/' ) . 'images/icons/mov.png" alt="" class="file-format-icon">' ;
}
else {
echo 'nothing' ;
}
?>
任何帮助都会令人惊讶,因为当这是一个非常基本的东西时,这似乎很难。
提前致谢。
答案 0 :(得分:0)
我认为term_exists()会让你失望;通常,检查给定的分类法是否包含 x 术语。如果您想要与给定帖子关联的术语,请使用get_the_terms(),它返回一个数组。然后,您的代码可以检查该数组以决定插入哪个图像。