多循环工作,内部功能不是

时间:2009-11-04 17:58:31

标签: php wordpress loops

我正在使用我发现的这段代码(http://impnerd.com/wordpress-hack-add-post-images-to-your-homepage)来显示上传到帖子摘录旁边主页上的帖子的第一张图片。我在主页的主循环之外做这个,并且一直有问题。当我执行rewind_posts()以获得相同的循环结果时,它工作正常,但是当我尝试创建一个不同的循环时,此代码段会崩溃:

$images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . $post->ID );

if ($images) 
{
  $keys = array_keys($images);
  $num = $keys[0];
  $firstImageSrc = wp_get_attachment_thumb_url($num);
  echo "<li><img src=\"{$firstImageSrc}\" width=\"288\" height=\"216\"  alt=\"\" title=\"\" /></li>";
} 

我已经尝试过文档中的The_Loop#Multiple_Loops_in_Action中的方法,它们有效,这意味着我可以在循环后获得正常输出,但上面的代码片段不起作用。任何想法是否存在冲突的方法调用或正在进行的某些操作会阻止其工作?非常感谢一些帮助,谢谢!

更具体一点:

<?php $my_query = new WP_Query('category_name=Daily Photo&showposts=1');
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>
<p>a</p>
<?php $images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . $post->ID );
if ($images) {
$keys = array_keys($images);
$num = $keys[0];
$firstImageSrc = wp_get_attachment_thumb_url($num);
echo "<li><img src=\"{$firstImageSrc}\" width=\"288\" height=\"216\"  alt=\"\" title=\"\" /></li>";} ?>
<?php endwhile; ?>

会在代码段中输出<p>a</p>,但不会输出我需要的<li><img /></li>代码。如果我使用rewind_posts();,一切正常,我得到<li><img /></li>代码,但我不想使用我之前使用的相同循环。我正在使用它来显示侧边栏中的每日照片,这些照片来自“每日照片”类别。我将从主循环中排除每日照片,并且只想使用它们从该片段中绘制图像。

1 个答案:

答案 0 :(得分:0)

尝试删除启动器的if语句。删除对图像的任何引用,看它是否输出没有图像源的html。如果是这种情况,则图像未正确分配,并且从不执​​行代码。

$images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . $post->ID );
  

此代码检查是否存在   图片上传到图库。

现在您需要对上述声明进行故障排除,并了解您没有获得任何图像的原因。

此外,如果你不想继续搞乱代码,看起来似乎有一个plugin

要记住的另一件事是这段代码很旧,可能与你的wordpress版本不兼容。