1

我正在尝试使用 Wordpress 循环(某个类别)来提取特色图像、链接和摘录,并在 Slideshow JS 中填充 Ultimate Fade。该代码输出正确的格式、语法,并正确显示了两个帖子的链接。但是,此代码不会循环浏览特色图像。它似乎在同一图像之间消失了两次。

此特定类别中目前有两个帖子,两个帖子都将图像设置为特色。每个帖子也有一个摘录。

所有文档(fadeslideshow.js 和 jQuery)都在标题中正确链接,并且在使用 Safari 的网络检查器查看代码时 - 动态驱动器脚本显示透明度发生变化 - 它只是在同一图像之间切换,因此似乎没有发生任何事情。

下面的代码位于一个单独的 .php 文档中,该文档在标头中被调用。

<script type="text/javascript">
<?php query_posts('cat=7'); ?> //queries posts only from featured category
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

var mygallery=new fadeSlideShow({ 
wrapperid: "fadeshow", //ID of blank DIV on page to house Slideshow
dimensions: [585, 350], //width/height of gallery in pixels. Should reflect dimensions of largest image
imagearray: [

<?php   $thumbnails = get_posts('posts_per_page=5'); //adding category=7 here breaks code
        $my_excerpt = get_the_excerpt();
        $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); 
        $total = count($thumbnails); //this is to count the number of thumbnails in foreach loop to NOT add a comma to the last one
        $i=1;

        foreach ($thumbnails as $thumbnail) {
        if ( has_post_thumbnail($thumbnail->ID)) {
        $i++;

         echo '["'.$url.'","'.get_permalink( $thumbnail->ID ).'","","'.$my_excerpt.'"]'; //This spits out the exact correct code
         if ($i != $total) { echo', '; }//this is to count the number of thumbnails in foreach loop to NOT add a comma to the last one

 }} ?>
],

displaymode: {type:'auto', pause:3000, cycles:0, wraparound:false},
persist: false, //remember last viewed slide and recall within same session?
fadeduration: 500, //transition duration (milliseconds)
descreveal: "ondemand",
togglerid: ""
})

<?php endwhile; endif; ?> //This ends the wordpress loop
<?php wp_reset_query(); ?>

</script>

Dynamic Drive 在幻灯片放映信息中的终极淡入淡出在这里:http ://www.dynamicdrive.com/dynamicindex14/fadeinslideshow.htm

我的代码在这个网站上:http: //johnharvey.hsjjr.net

我也尝试使用 wp_get_attachment_image_src 但没有成功。

我在 Google、Dynamic Drive 论坛和 Wordpress Codex 上进行了彻底的搜索,但没有找到其他可以尝试的方法。我相信也许我对出了什么问题没有足够的了解,不知道还要搜索什么。我相信对此有一个相当简单的解决方案,我根本没有经验知道出了什么问题。

非常感谢大家的帮助和知识!

4

1 回答 1

0

不完全确定为什么会这样 - 但我解决了这个问题。我没有在 foreach 循环上方定义变量,而是将其移到循环中:

<?php   $thumbnails = get_posts('posts_per_page=5'); //adding category=7 here breaks code

        $total = count($thumbnails); //this is to count the number of thumbnails in foreach loop to NOT add a comma to the last one
        $i=1;

        foreach ($thumbnails as $thumbnail) {
        if ( has_post_thumbnail($thumbnail->ID)) {
        $i++;



         echo '["'.wp_get_attachment_url( get_post_thumbnail_id($thumbnail->ID) ).'","'.get_permalink( $thumbnail->ID ).'","","'.get_the_excerpt($thumbnail->ID).'"]'; //This spits out the exact correct code
         if ($i != $total) { echo', '; }//this is to count the number of thumbnails in foreach loop to NOT add a comma to the last one


 }

}
?>

except 仍然没有循环,但至少缩略图可以。

于 2013-03-25T23:13:30.337 回答