具有Foundation 6 Accordion的WordPress Query_Posts不能正常工作

时间:2016-09-15 作者:steamfunk

我想知道是否有人能帮我。我正在尝试合并Foundation 6 accordion 在具有自定义帖子类型的模板页面上使用wordpress。

以下是我使用的代码:

     <?php
  query_posts( array( 

      \'post_type\' => \'customposttypename\', 
      \'taxonomyname\' => \'taxonomyslug\',
      \'posts_per_page\' => -1
  ) );


 if ( have_posts() ) : while ( have_posts() ) : the_post();
?>


    <ul class="accordion" data-accordion>



  <li class="accordion-item " data-accordion-item>
    <a href="#" class="accordion-title"><?php the_title();?></a>
    <div class="accordion-content" data-tab-content>
     <?php the_content();?>
    </div>



        </li>

</ul>
              <?php endwhile; endif; wp_reset_query(); ?> 
为了使手风琴渲染,您需要以下最小标记:

<ul class="accordion" data-accordion>
  <li class="accordion-item is-active" data-accordion-item>
    <a href="#" class="accordion-title">Accordion 1</a>
    <div class="accordion-content" data-tab-content>
      I would start in the open state, due to using the `is-active` state class.
    </div>
  </li>
  <!-- ... -->
</ul>
我使用过的(请参见上文)

该查询显示标题和内容的帖子,就像我希望的那样,并包装在foundation Accordion中,但一旦打开选项卡,我就无法再次单击它来关闭。我知道,除非另有规定(我希望每次都有一个职位空缺),否则任何时候都必须有一个职位空缺。我有多个职位。我还想知道如何将is-active类添加到生成的第一篇帖子中。我真的很感激你的帮助。

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

看起来您的代码正在添加新的<ul> 对于每个帖子。你真正想要的是单身<ul> 包裹在所有的柱子上。

Query\\u posts也不受欢迎,因为它改变了主查询。您可以改用get\\u posts,并添加一个变量$i来确定您是否在第一篇文章中。如果是,请添加is-active

尝试:

<?php $myposts = get_posts(array( \'post_type\' => \'customposttypename\', \'taxonomyname\' => \'taxonomyslug\', \'posts_per_page\' => -1 )); if(count($myposts) > 0) { ?><ul class="accordion" data-accordion><?php for($i=0; $i<count($myposts); $i++) { setup_postdata($myposts[$i]); ?><li class="accordion-item<?php if($i==0) { echo \' is-active\'; } ?>" data-accordion-item> <a href="#" class="accordion-title"><?php echo $myposts[$i]->post_name; ?></a> <div class="accordion-content" data-tab-content> <?php echo $myposts[$i]->post_content; ?> </div> </li><?php } ?></ul><?php } ?>

//添加和_

相关推荐