使用WP_QUERY的TAX_QUERY不工作

时间:2013-01-28 作者:yellowjersey

我无法使此查询正常工作。虽然我有三篇文章属于“公司新闻”和“测试”类别,但它只呈现了一篇文章。

有人能看到我的代码有问题吗?

<?php
            $myquery = array(
                \'post_type\' => \'post\',
                \'tax_query\' => array(
                    \'relation\' => \'OR\',
                         array(
                        \'taxonomy\' => \'category\',
                        \'field\' => \'slug\',
                        \'terms\' => array(\'test\', \'firm-news\'),  
                    )

                ),
                \'posts_per_page\' => 5, 
                \'orderby\' => \'RAND\', 
);



            $m = new WP_Query( $myquery );

            if ( $m->have_posts() ) : $m->the_post();?>

                <ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
             <?php endif; wp_reset_postdata(); ?>
谢谢

马特

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

您没有循环查看结果。以下是您的代码:

$m = new WP_Query( $myquery );

if ( $m->have_posts() ) : $m->the_post();?>
       <ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
<?php endif; 
wp_reset_postdata(); ?>
没有循环。你只需检查帖子是否存在,回复一些关于第一个帖子的信息,然后退出。if 不是循环。这是有条件的。你需要while.

您需要:

$m = new WP_Query( $myquery );

while ( $m->have_posts() ) : $m->the_post(); ?>
       <ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
<?php endwhile; 
wp_reset_postdata(); ?>

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post

使用WP_QUERY的TAX_QUERY不工作 - 小码农CODE - 行之有效找到问题解决它

使用WP_QUERY的TAX_QUERY不工作

时间:2013-01-28 作者:yellowjersey

我无法使此查询正常工作。虽然我有三篇文章属于“公司新闻”和“测试”类别,但它只呈现了一篇文章。

有人能看到我的代码有问题吗?

<?php
            $myquery = array(
                \'post_type\' => \'post\',
                \'tax_query\' => array(
                    \'relation\' => \'OR\',
                         array(
                        \'taxonomy\' => \'category\',
                        \'field\' => \'slug\',
                        \'terms\' => array(\'test\', \'firm-news\'),  
                    )

                ),
                \'posts_per_page\' => 5, 
                \'orderby\' => \'RAND\', 
);



            $m = new WP_Query( $myquery );

            if ( $m->have_posts() ) : $m->the_post();?>

                <ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
             <?php endif; wp_reset_postdata(); ?>
谢谢

马特

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

您没有循环查看结果。以下是您的代码:

$m = new WP_Query( $myquery );

if ( $m->have_posts() ) : $m->the_post();?>
       <ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
<?php endif; 
wp_reset_postdata(); ?>
没有循环。你只需检查帖子是否存在,回复一些关于第一个帖子的信息,然后退出。if 不是循环。这是有条件的。你需要while.

您需要:

$m = new WP_Query( $myquery );

while ( $m->have_posts() ) : $m->the_post(); ?>
       <ul><li <?php post_class();?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li></ul>
<?php endwhile; 
wp_reset_postdata(); ?>

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post