Php WP_查询返回错误的结果
我的插件为wordpress添加了一个自定义的帖子类型,我想显示所有已经发布的帖子。我使用wp_查询来显示所有帖子,但它似乎会获取所有帖子,而不管它们的状态如何。我忘了什么吗 请注意,状态从发布更改为草稿,我使用wp_update_post()编辑帖子状态。 这是我的密码: 循环:Php WP_查询返回错误的结果,php,wordpress,Php,Wordpress,我的插件为wordpress添加了一个自定义的帖子类型,我想显示所有已经发布的帖子。我使用wp_查询来显示所有帖子,但它似乎会获取所有帖子,而不管它们的状态如何。我忘了什么吗 请注意,状态从发布更改为草稿,我使用wp_update_post()编辑帖子状态。 这是我的密码: 循环: function jobs_list_loop() { global $paged; //$curpage = $paged ? $paged : 1; if ( get_query_var(
function jobs_list_loop() {
global $paged;
//$curpage = $paged ? $paged : 1;
if ( get_query_var('paged') ) {
$paged = get_query_var('paged');
} elseif ( get_query_var('page') ) {
$paged = get_query_var('page');
} else {
$paged = 1;
}
$args = array(
'post_type' => 'job',
'orderby' => 'ID',
'posts_per_page' => POST_PER_PAGE,
'post_status' => 'publish',
'paged' => $paged
);
$query = new WP_Query($args);
$curpage = $paged;
if($query->have_posts()) : while ($query->have_posts()) : $query->the_post();
?>
<div id="post-<?php the_ID(); ?>" class="quote">
<?php
echo get_the_post_thumbnail($post->ID, array($image_width,$image_height));
the_content();
?>
</div>
<?php
endwhile;
echo '
<div id="wp_pagination">
<a class="first page button" href="'.get_pagenum_link(1).'">«</a>
<a class="previous page button" href="'.get_pagenum_link(($curpage-1 > 0 ? $curpage-1 : 1)).'">‹</a>';
for($i=1;$i<=$query->max_num_pages;$i++)
echo '<a class="'.($i == $curpage ? 'active ' : '').'page button" href="'.get_pagenum_link($i).'">'.$i.'</a>';
echo '
<a class="next page button" href="'.get_pagenum_link(($curpage+1 <= $query->max_num_pages ? $curpage+1 : $query->max_num_pages)).'">›</a>
<a class="last page button" href="'.get_pagenum_link($query->max_num_pages).'">»</a>
</div>
';
wp_reset_postdata();
endif;
}
请注意,如果我改为查询,只获取草稿、垃圾箱或其他东西,它会成功地执行。
我忘了什么吗?我做了大量的研究,找不到任何合适的答案
谢谢。是否应该改为wp\U update\u post($jb\u post)?查询参数看起来是正确的,你能确认这些帖子实际上是在数据库中发布的吗?它应该是$jb_post,我编辑了代码,但忘记了这一点。。关于db,值在db中从发布到草稿,这没有问题,这导致在循环中显示“此帖子不存在”。老实说,我可以控制每个帖子的post_状态值,然后根据值选择显示或不显示,但我觉得我遗漏了一些东西,我不想开始写这么愚蠢的代码。。。
$jb_post = array(
'ID' => $id,
'post_status' => 'draft'
);
wp_update_post( $jb_post );