我在functions.php中有一个创建短代码的函数。短代码从特定类别中提取最新的10个帖子并将其显示为列表。如果帖子少于10个,我不希望显示最早的(第一个)帖子。我使用偏移但它删除了最近的帖子。我怎样才能删除最老的帖子?
// Category Shortcode - House Sitting
function dee_display_recent_housesitting() {
$args = array(
'post_type' => 'post',
'posts_per_page&'=> 10,
'offset'=> 1,
'cat'=> 2020,
);
$dee_recent_housesitting = new WP_Query( $args );
if( $dee_recent_housesitting->have_posts() ):
$dee_output = '<div class="box" <ul>';
while ( $dee_recent_housesitting->have_posts() ) : $dee_recent_housesitting->the_post();
$dee_output .= '<li><a href="' . get_permalink() . '" title="' . get_the_title() . '">' . get_the_title() . '</a></li>';
endwhile;
$dee_output .= '</ul> </div>';
endif;
return $dee_output;
wp_reset_postdata();
}
add_shortcode( 'recent-housesitting', 'dee_display_recent_housesitting' );
答案 0 :(得分:0)
您需要使用按日期排序的ASC,它默认为DESC。
$args = array(
'post_type' => 'post',
'posts_per_page&'=> 10,
'offset'=> 1,
'cat'=> 2020,
'order' => 'ASC',
'orderby' => 'date'
);