我的插件为wordpress添加了自定义帖子类型,而id则显示已发布的所有帖子。我使用wp_query来显示所有帖子,但无论状态如何,它似乎都会获取所有帖子。我忘记了什么吗?
请注意,状态从发布更改为草稿,我使用wp_update_post()来编辑帖子状态。 这是我的代码:
循环:
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;
}
以下是用于将状态从发布更改为草稿的代码:
$jb_post = array(
'ID' => $id,
'post_status' => 'draft'
);
wp_update_post( $jb_post );
请注意,如果我更改为查询以仅提取草稿,或垃圾或其他任何成功执行此操作。 我忘了什么吗?我进行了大量的研究,找不到任何合适的答案。
谢谢。