【问题标题】:Multiple loop working, function inside isn't多循环工作,内部功能不是
【发布时间】:2009-11-04 17:58:31
【问题描述】:

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

$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 中的方法,并且它们有效,这意味着我可以在循环后获得正常输出,但我上面的 sn-p 不起作用。知道是否存在冲突的方法调用或正在发生的事情阻止它工作吗?非常感谢您的帮助,谢谢!

更具体一点:

<?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; ?>

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

【问题讨论】:

  • 这将输出

    a

    但没有
  • : have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; ?>

    a

    ID ); if ($images) { $keys = array_keys($images); $num = $keys[0]; $firstImageSrc = wp_get_attachment_thumb_url($num); echo "
  • " ;} ?> rewind_posts 给出
  • 哎呀,评论很乱,我更新了原来的帖子更清楚了。
  • 标签: php wordpress loops


    【解决方案1】:

    尝试删除初学者的 if 语句。删除对图像的任何引用,看看它是否在没有图像源的情况下输出您的 html。如果是这种情况,则图像没有被正确分配并且它永远不会执行代码。

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

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

    现在您需要对上述语句进行故障排除,看看为什么您没有得到任何图像。

    此外,如果您不想继续弄乱代码,似乎有一个 plugin 可以做到这一点。

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

    【讨论】:

    • 谢谢,结果是我只有一个帖子分配到每日照片类别,而我上传到它的图片不知何故没有保存到帖子的图库中,而是保存到整体媒体库,因此代码 sn-p 甚至没有看到图像。感谢您删除 if 语句的建议。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签