WP_Query和标签ID

时间:2012-08-19 14:46:06

标签: wordpress loops

我在尝试使用tag_id作为过滤器在Wordpress中构建以下查询时遇到问题:

    <?php 
        $the_query = new WP_Query( array ( 
        'posts_per_page' => '-1', 
        'tag_id' => '' 
        ) );
        while ( $the_query->have_posts() ) : $the_query->the_post();
    ?>

如您所见,“tag_id”值为空,因为我试图从此处检索值:

        <?php echo of_get_option('slideshow-tags', 'no entry' ); ?>

这个echo返回一个值,所以它可以工作,但我不知道如何在不出现php错误的情况下将其调整到查询。

我试过了:

    <?php 
        $the_query = new WP_Query( array ( 
        'posts_per_page' => '-1', 
        'tag_id' => 'echo of_get_option('slideshow-tags', 'no entry' );             '
        ) );
              while ( $the_query->have_posts() ) : $the_query->the_post();
    ?>  

但它不起作用。如果我遗漏了一些显而易见的东西,我就不是一个熟悉PHP的人。

非常感谢!

约翰

编辑:

以下是未来参考的答案:

        <?php 
        $the_query = new WP_Query( array ( 
        'posts_per_page' => '-1', 
        'tag_id' => of_get_option('slideshow-tags', 'no entry') 
        ) );
        while ( $the_query->have_posts() ) : $the_query->the_post();
        ?>  

3 个答案:

答案 0 :(得分:1)

尝试使用它:

$code_to_display = of_get_option('slideshow-tags', 'no entry' );
'tag_id' => '$code_to_display'

答案 1 :(得分:1)

您不希望echo返回of_get_option的值,您希望在数组中使用它:

$the_query = new WP_Query(array( 
    'posts_per_page' => -1, 
    'tag_id' => of_get_option('slideshow-tags', 'no entry')
));

// Now just do the loop...

答案 2 :(得分:0)

这是OP的回答,已添加到问题中,并移至此处以遵守站点准则。


以下是供将来参考的答案:

        <?php 
        $the_query = new WP_Query( array ( 
        'posts_per_page' => '-1', 
        'tag_id' => of_get_option('slideshow-tags', 'no entry') 
        ) );
        while ( $the_query->have_posts() ) : $the_query->the_post();
        ?>