以相反的顺序显示最新类别的帖子

时间:2019-10-07 06:42:20

标签: php wordpress

我使用此代码显示主题的最新帖子。但是我想以相反的顺序显示这些帖子。

我该怎么做?

<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>

3 个答案:

答案 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; ?>