我使用此代码显示主题的最新帖子。但是我想以相反的顺序显示这些帖子。
我该怎么做?
<ul class="topics-list color-red-content">
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<li>
<i class="far fa-circle"></i>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
<?php endif; ?>
</ul>
答案 0 :(得分:0)
您可以在文件的开头添加以下代码。
add_action('pre_get_posts', 'wpse_change_post_order');
function wpse_change_post_order($query){
$query->set('order','ASC');
$query->set('orderby','date');
}
答案 1 :(得分:0)
您可以尝试这个。将此代码添加到您的functions.php
文件中。
//function to modify default WordPress query
function wpb_custom_query( $query ) {
// Make sure we only modify the main query on the homepage
if( $query->is_main_query() && ! is_admin() && $query->is_home() ) {
// Set parameters to modify the query
$query->set( 'orderby', 'date' );
$query->set( 'order', 'ASC' );
}
}
// Hook our custom query function to the pre_get_posts
add_action( 'pre_get_posts', 'wpb_custom_query' );
答案 2 :(得分:0)
喜欢此代码
<?php
// the query
$wpb_all_query = new WP_Query(array('post_type' => 'post', 'cat' => '309', 'order' => 'ASC', 'orderby' => 'date', 'post_status' => 'publish', 'posts_per_page' => -1)); ?>
<?php if ($wpb_all_query->have_posts()) : ?>
<ul>
<!-- the loop -->
<?php while ($wpb_all_query->have_posts()) : $wpb_all_query->the_post(); ?>
<li>
<i class="far fa-circle"></i>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
<!-- end of the loop -->
</ul>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>