我目前正在与FoundationPress合作,这是一个很好的入门主题,具有很酷的功能。我想创建一个名为“slides”的自定义帖子类型,它将通过基金会的orbit滑块显示在主页上。我在github上找到了一个似乎适用于早期版本的foundation的解决方案,但它不适用于foundation 6,因为他们对轨道滑块的语法做了一些更改。post类型工作正常,循环显示图像,但它们堆叠在一起,不像旋转木马那样工作。
这是我的自定义循环代码,用于显示帖子类型中的图像,如果有人能看一下并告诉我我做错了什么,我将不胜感激。
<?php
$args = array(
\'post_type\' => \'slides\',
\'posts_per_page\' => 999
);
$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query($args);
if($wp_query->have_posts()) : ?>
<ul class="orbit-container">
<button class="orbit-previous" aria-label="previous"><span class="show-for-sr">Previous Slide</span>◀</button>
<button class="orbit-next" aria-label="next"><span class="show-for-sr">Next Slide</span>▶</button>
<?php
while($wp_query->have_posts()) : $wp_query->the_post();
$postid = get_the_ID();
if(has_excerpt()) {
$datacaption = \'data-caption="#slide-\'.$postid.\'"\';
} else {
$datacaption = \'\';
}
if(has_post_thumbnail()) {
$imgid = get_post_thumbnail_id($postid);
$alt = get_post_meta($imgid , \'_wp_attachment_image_alt\', true);
$imgurl = wp_get_attachment_url($imgid);
echo \'<li class="orbit-slide">\';
echo \'<div>\';
echo \'<img src="\'.$imgurl.\'" \'.$datacaption.\' alt="\'.$alt.\'" />\';
} else {
echo \'<div class="orbit-slide" \'.$datacaption.\'>\';
echo get_the_content();
echo \'</div>\';
echo \'<div>\';
echo \'</li>\';
}
if(has_excerpt()) {
$output = \'<span class="orbit-caption" id="slide-\'.get_the_ID().\'">\';
$output .= \'<h3 class="slide-title">\'.get_the_title().\'</h3>\';
$output .= \'<p class="slide-excerpt">\'.get_the_excerpt().\'</p>\';
$output .= \'</span>\';
echo $output;
};
endwhile; ?>
</ul>
<?php endif; ?>
<?php $wp_query = null; $wp_query = $temp; wp_reset_query(); ?>
最合适的回答,由SO网友:steamfunk 整理而成
我已经弄明白了,我从零开始创建了一个自定义循环,其中包含了foundation orbit滑块的所有更新类。如果有人想要代码,请在下面找到:
<?php $loop = new WP_Query(
array(
\'post_type\' => \'slides\',
\'posts_per_page\' => 999 )
); ?>
<div class="orbit" role="region" aria-label="Favorite Space Pictures" data-orbit data-use-m-u-i="true">
<ul class="orbit-container" >
<button class="orbit-previous" aria-label="previous"><span class="show-for-sr">Previous Slide</span>◀</button>
<button class="orbit-next" aria-label="next"><span class="show-for-sr">Next Slide</span>▶</button>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<li class="orbit-slide" >
<div>
<?php the_post_thumbnail(); ?>
<?php if(!empty($post->post_excerpt)) {
echo \'<div class="orbit-caption" >\';
the_excerpt();
echo \'</div>\';
} else {
} ?>
</div>
</li>
<?php endwhile; wp_reset_query(); ?>
</ul>
</div>