根据类别Wordpress获取帖子

时间:2014-05-30 07:33:09

标签: php wordpress wordpress-theming categories

我在WordPress中有两个类别。一个是事件,另一个是新闻。我必须在同一页面中获取两个类别的帖子。新闻类别中只有4个帖子。事件可以添加到用户。我必须根据发布日期显示前8个事件。我正在使用两个查询编写这两个类别并转移到数组。

我已为此编码,如下所示:

$event_title       = array();
$event_author      = array();
$event_content     = array();
$event_thumbnail   = array();
$event_counter     = 0 ;

$arg = array(
    'numberposts' => 8,
    'offset' => 0,
    'category' => 17,
    'orderby' => 'post_date',
    'order' => 'ASC',
    'post_type' => 'post',
    'post_status' => 'draft, publish, future, pending, private',
    'suppress_filters' => true
);

$events = new WP_Query( $arg );

if ($events->have_posts()) : while ($events->have_posts()) : $events->the_post(); 

$event_title[$event_counter]        = get_the_title();
$event_author[$event_counter]       = get_the_author();
$event_content[$event_counter]      = get_the_content();
$event_thumbnail[$event_counter]    = get_the_post_thumbnail();

$event_counter++;

endwhile; endif;

事件的类别ID是17,我使用方法echo get_cat_ID( "events" );

找到了id

这里的问题是帖子不是基于类别提取的。考虑到该类别,它需要前8个帖子。我该如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

在您的代码中,您使用$ arg,使用'类别' => 17,但在codex中写道:

cat (int) - use category id.
category_name (string) - use category slug (NOT name).
category__and (array) - use category id.
category__in (array) - use category id.
category__not_in (array) - use category id. 

所以你需要使用 cat 作为类别数量或使用 category__in

的数组