我想知道是否有人能帮我。我正在尝试合并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类添加到生成的第一篇帖子中。我真的很感激你的帮助。
最合适的回答,由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
} ?>
//添加和_