Как WordPress случайные сообщения в tag.php? - PullRequest
0 голосов
/ 15 июня 2019

Я хочу показать случайные статьи на странице тегов на моем WordPress сайте, как я могу это сделать?

Я сделал несколько изменений в файле функций, но он не работал

function one_random_post_on_home_page( $query )

{

    if ( ! ( $query->is_tag() && $query->is_main_query() ) )

   return;

    $query->set( 'orderby', 'rand' );
    $query->set( 'posts_per_page', 12 );
}

add_action( 'pre_get_posts', 'one_random_post_on_home_page' ); 

снова появилась только одна статья.

1 Ответ

0 голосов
/ 16 июня 2019

Ваш оператор return завершает выполнение функции до того, как вы внесете изменения в запрос.Кроме того, ваш условный запрос ищет что-либо, кроме архива тегов и основного запроса, с помощью!в вашем коде.Решение ниже работает для меня.

function randomize_tag_archive( $query ){
    if ( $query->is_tag() && $query->is_main_query() && !is_admin() ) {
        $query->set( 'orderby', 'rand' );
        $query->set( 'posts_per_page', 12 );
    }
}

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