我已经创建了一个自定义分类区域,我想查询该分类中的所有结果并显示它们。我的问题是:
$args = array(
\'tax_query\' => array(
array(
\'taxonomy\' => \'region\',
\'field\' => \'slug\',
\'terms\' => array( \'north\', \'east\', \'west\', \'south\' )
)
)
);
$query = new WP_Query( $args );
然后如何将此结果显示为html?大致如下:
<li class="location large-3 columns">
<img src="<?php echo get_template_directory_uri(); ?>/images/region1.jpg" alt="" />
<span class="location-title">TAXONOMY TITLE HERE</span>
</li>
最合适的回答,由SO网友:Shazzad 整理而成
$regions = get_terms(\'region\', array(\'hide_empty\' => false) );
foreach( $regions as $region ){ ?>
<li class="location large-3 columns">
<img src="<?php echo get_template_directory_uri(); ?>/images/<?php echo $region->slug; ?>.jpg" alt="" />
<span class="location-title"><?php echo $region->name; ?></span>
</li><?php
}
SO网友:Michael Ecklund
有很多方法可以满足你的需要。
我可能会这样做:
if($query->posts){
foreach($query->posts as $post){
echo \'<li class="location large-3 columns">\'.PHP_EOL;
echo \'<img src="\'.get_template_directory_uri().\'/images/region1.jpg" alt="" />\'.PHP_EOL;
$terms = get_the_term_list($post->ID, \'region\', \'<span class="location-title">\', \', \', \'</span>\');
if($terms){
echo $terms.PHP_EOL;
}
echo \'</li>\'.PHP_EOL;
}
}
我只是喜欢检索数据,并手动循环/输出内容。
否则,您可以使其更“WordPress友好”,并设置post数据。看看this example 如果你决定这样做的话,就在WordPress Codex上。你会注意到这与我的方法非常相似。无论哪种方式,你都可以实现同样的目标。这只是一种偏好。