Показывать сообщения Wordpress в хронологическом порядке (по возрастанию) - PullRequest
0 голосов
/ 25 мая 2018

По умолчанию Wordpress отображает все сообщения в обратном хронологическом порядке (с самым новым сообщением первым).

Я хотел бы отображать все свои сообщения WordPress в хронологическом порядке (с самыми старыми сообщениями, показанными первыми).

Я пытаюсь использовать запрос пользовательского цикла для этого, однако не могу заставить его работать.Что мне здесь не хватает?

<?php query_posts(array('orderby'=>'date','order'=>'ASC'));

    if ( have_posts() ) :
    while ( have_posts() ) : the_post(); ?>


    <div class="postTitle"><?php the_title(); ?></div>
    <div class="postContent"><?php the_content(); ?></div>



    <?php endwhile; endif;
        wp_reset_query();
    ?>

Я подумал, что это будет довольно просто, хотя все, что я нашел, чтобы попробовать, я также не могу сделать работу.спасибо!

1 Ответ

0 голосов
/ 25 мая 2018

Использование пользовательского цикла:

Если вы создаете пользовательский цикл, вы можете использовать WP_Query.

<?php
$the_query = new WP_Query([
    'order'=>'ASC'
]);

// The Loop
if ( $the_query->have_posts() ) : 
    while ( $the_query->have_posts() ) :
?>

<div class="postTitle"><?php the_title(); ?></div>
<div class="postContent"><?php the_content(); ?></div>

<?php
    endwhile;
        /* Restore original Post Data */
    wp_reset_postdata();
?>
<?php else: ?>
        // no posts found
<?php endif; ?>

Использование фильтров

Или другой метод состоит в том, чтобы изменить основной цикл, используя фильтры в файле functions.php.

function alter_order_of_posts( $query ) {
    if ( $query->is_main_query() ) {
        $query->set( 'order', 'ASC' );
    }
}
add_action( 'pre_get_posts', 'alter_order_of_posts' );

Я предлагаю путь фильтра, чтобы избежать изменения большого количества вашего текущего шаблона..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...