0

我有一个基本的 WordPress 循环,它可以正常工作并输出帖子,直到我尝试向循环添加分类参数。一旦我将它添加到循环中,它就会停止输出任何东西,但不会给出任何 PHP 错误。循环如下。

<?php 
    $newsLoop = new WP_Query(array('post_type' => 'news&events', 'taxonomy' => 'postcategory', 'term' => 'featured',  'posts_per_page' => 3, 'orderby' => 'post_date', 'order' => 'ASC'));
    while ( $newsLoop->have_posts() ) : $newsLoop->the_post();
?>

<div class="newsEvent">

<h2><?php the_title(); ?></h2>

<?php the_excerpt(); ?>

<p style="text-align:center;"><a href="<?php the_permalink(); ?>">Read More</a></p>

</div> 

<?php endwhile; wp_reset_postdata(); ?>

我试过一起删除帖子类型参数,只是查询分类法,那里也没有运气。有什么我在这里遗漏或没有正确执行的吗?

4

2 回答 2

1

几周前我做过类似的事情,这就是我为你准备的:

在 Functions.php 中:(注册分类)。

$args = array(
      'hierarchical'      => true,
      'labels'            => $labels,
      'show_ui'           => true,
      'show_admin_column' => true,
      'query_var'         => true,
      'rewrite'           => array( 'slug' => 'news-category' ),
    );
 register_taxonomy( 'news-tax', array( 'news&events' ), $args );

现在查询:

<?php $args = array( 'news-tax' => 'postcategory', 'post_type' => 'news&events', 'orderby' => 'post_date','order' => 'ASC', 'posts_per_page' => -1);
                    $loop = new WP_Query( $args );
                    while ( $loop->have_posts() ) : $loop->the_post();?>

让我知道这个是否奏效!另外,您是否能够在没有任何分类法的情况下成功查询“新闻和事件”?也许 & 引起了问题?不管怎样,我尝试了很多方法,以上方法对我来说都是无缝的。

于 2014-11-12T20:32:24.383 回答
0

您必须使用以下tax_query参数:

$args = array(
    'post_type' => 'news&events',
    'tax_query' => array(
        array(
            'taxonomy' => 'postcategory',
            'field' => 'slug',
            'terms' => 'featured'
        )
    ),
    'posts_per_page' => 3,
    'orderby' => 'post_date',
    'order' => 'ASC'
);
$newsLoop = new WP_Query( $args );

检查文档:http ://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters

于 2013-05-30T22:04:30.017 回答