WP_Query...不同div的术语类型

时间:2014-06-20 作者:Jose Cerejo

enter image description here

我需要创建一个类似于此图像的表,我希望在特定的DIV中有一个特定的术语,但我的代码会一起出现。

Example: 一个div棕色,有5种产品。

我想要的效果就像手风琴“隐藏和显示”
因此,如果我没有所有相同的隐藏和显示,查询将无法工作。每个学期的最终结果都必须像div上的这幅图像一样。此时,我有一个包含所有条款的div。

如何创建一个div,每个div都有您的术语?

谢谢你的帮助。

<?php
        $args = array (
                \'post_type\'=> \'coleccoes\',
                \'tax_query\' => array(
                                                array(
                                                    \'taxonomy\' => \'tag-series\',
                                                    \'field\' => \'slug\', 
                                                    \'terms\' => array(\'casegoods\',\'rugs\',\'lighting\',\'seating\')))); ?>

<div id="coleccao_casegood">

<?php      $list_query = new WP_Query($args); 
       while ($list_query->have_posts()) : $list_query->the_post();


       if( has_term( \'rugs\', \'tag-series\' ) ) {
            echo \'<h3 class="imagem">\';
            the_post_thumbnail();
            echo \'</h3>\';
            echo \'<div class="conteudo" style="top: 650px; position: absolute;">\';
            the_content();
            echo \'</div>\';
} elseif ( has_term( \'seating\', \'tag-series\' ) ) {
            echo \'<h3 class="imagem">\';
            the_post_thumbnail();
            echo \'</h3>\';
            echo \'<div class="conteudo" style="top: 650px; position: absolute;">\';
            the_content();
            echo \'</div>\';
} elseif ( has_term( \'lighting\', \'tag-series\' ) ) {
            echo \'<h3 class="imagem">\';
            the_post_thumbnail();
            echo \'</h3>\';
            echo \'<div class="conteudo" style="top: 650px; position: absolute;">\';
            the_content();
            echo \'</div>\';
} elseif ( has_term( \'casegoods\', \'tag-series\' ) ) {
            echo \'<h3 class="imagem">\';
            the_post_thumbnail();
            echo \'</h3>\';
            echo \'<div class="conteudo" style="top: 650px; position: absolute;">\';
            the_content();
            echo \'</div>\';
} 

    endwhile; 
        wp_reset_query();
        ?> 
 </div> 
<!-- fim div_collection -->
<script> 
$(document).ready(function() {
  $(\'div.conteudo\').hide(); 
  $(\'h3.imagem\').click(function() {
    $(this).next(\'div\').slideToggle(\'fast\')
    .siblings(\'div:visible\').slideUp(\'fast\');
  }); 
});
</script>
It is thus

enter image description here

2 个回复
最合适的回答,由SO网友:Wyck 整理而成

最简单的方法就是创建conditional statements 检查术语并将其包装在您选择的div中。

循环开始后,可以执行以下操作:

while ($list_query->have_posts()) : $list_query->the_post();

if( has_term( \'casegoods\', \'tag-series\' ) ) {
    echo \'<div class="left-side">\';
    the_content();
    echo \'</div>\';
} elseif ( has_term( \'casegoods\', \'rugs\' ) ) {
   // do something else
} //..etc

SO网友:jdm2112

在同一个模板中运行多个循环,为不同的区域拉取不同的内容组是可能的(也是很常见的),只需使用WP函数wp_reset_postdata(); 每次之后。你的<div> </div> 标记对将包含每个查询和结果。

我相信您正在寻找这种类型的结构:

<div id="casegoods">
<?php 
  $args = .....;
  $case_query = new WP_Query( $args );
  .... loop and do stuff ....
  endwhile;
  wp_reset_query(): ?>
</div>

<div id="seating">
<?php 
  $args = .....;
  $seating_query = new WP_Query( $args );
  .... loop and do stuff ....
  endwhile;
  wp_reset_query(): ?>
</div>
等等。

结束

相关推荐

我可以在‘Get_the_Terms’中使用自定义元值吗?

我有一个自定义页面模板,这是我试图操纵的代码,根据我为特定页面编写的自定义元值进行更改。$terms = get_the_terms($post->id, \'custom-taxonomy\' ); 在CPT页面上,我有一个自定义元字段“分类名称”,自定义元值是“自定义分类”我试图用上面的代码做的是:$terms = get_the_terms($post->id, get_post_meta($post->ID,\'metafield-taxonomy-name\',TRU