自定义小部件中的代码查询所有帖子,而它应该只查询当前帖子

时间:2011-08-23 作者:Jodi Warren

我在自定义小部件中有一个查询(我的第一个!)如果是自定义帖子类型book, 检索帖子ID。然后在WP\\U查询中使用该ID来检索有关页面的数据。

这在静态侧栏中非常有效。php,但不是在动态php小部件中,也不是作为函数中的自定义小部件。php。其中,它从所有post类型的示例中检索相关字段book.

以下是违规代码。

            <?php
         if(\'book\' == get_post_type()) : 
            $ww_book_id = $post->ID;

        else :

            $ww_book_id = $default_book; //this is pulled in from the widget admin options form and works perfectly.
        endif; 

        $testimonial_args = array(
            \'post_type\' => \'book\',
            \'p\' => $ww_book_id

        );
        $main_testimonials = new WP_Query($testimonial_args);
        if($main_testimonials->have_posts()) : while($main_testimonials->have_posts()): $main_testimonials->the_post(); 

         echo the_title(); //I actually do much more stuff than this, but it works for testing purposes.

        endwhile; 
    wp_reset_postdata();
     endif; 

    ?>
非常感谢!

1 个回复
最合适的回答,由SO网友:Jodi Warren 整理而成

解决了!

我替换了$ww_book_id = $post->ID; 具有$ww_book_id = get_the_ID();

我不知道为什么$post->ID; 正在引用此代码的widgetized版本中的所有帖子。如果有人能告诉我,我会很好奇的。

结束