我需要按标签获取帖子。 我为此使用了这样的代码:
<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'type' => get_post_type(),
'order' => 'ASC',
'posts_per_page' => 8,
'paged' => $paged,
'tag'=> $cur_tag
);
$query = new WP_Query($args);
var_dump($args);
?>
<div class="blogs-grid">
<?php
$postIndex=0;
?>
<?php if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?>
<?php
//some code.....
$postIndex++;
?>
<?php endwhile; ?>
</div>
<div class="pagination blog-pagination">
<?php
echo paginate_links( array(/*some param*/) );
?>
</div>
<?php else: ?>
<!-- no posts found -->
<?php endif; ?>
var_dump返回tag = blog的此类数据
array(5){[“ type”] =>字符串(8)“ blogpost” [“ order”] =>字符串(3) “ ASC” [“ posts_per_page”] => int(8)[“ paged”] => int(1)[“ tag”] => string(4)“ blog”}
并且不显示该标签的任何记录。在数据库中有4条记录。
当然,我可以将以下代码用于查看帖子:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
但是在此页面上,我需要显示每页等信息的替代数量。
我不明白为什么WP_Query()在我的代码中不起作用。你能帮我吗?
数组应包含哪些属性? 我当前的$ args无法正常工作:
$args = array(
'type' => get_post_type(),
'order' => 'ASC',
'posts_per_page' => 8,
'paged' => $paged,
'tag'=> $cur_tag
);
答案 0 :(得分:0)
我认为您的参数名称对于wp_query参数是错误的。 对于帖子类型,应使用“ post_type”而不是“ type”。 因此正确的args应该是:
$args = array(
'post_type' => get_post_type(),
'order' => 'ASC',
'posts_per_page' => 8,
'paged' => $paged,
'tag'=> $cur_tag
);