Intereting Posts
выберите пользователя со всем мета-полем и значением поля. Я использую Below Query для этого, так что любой из них знает другой способ быстрого запроса вместо запроса ниже? Получить все wp_users сортировать по metakey Фильтрация пользовательских сообщений по настраиваемым полям (ACF) Сохранить список из пользовательского мета-поля? как исправить поврежденный визуальный редактор Использование wp-cron в обратном направлении – проблемы с wp_remote_post, fsockopen error Может ли обратный вызов действия предотвратить продолжение продолжения родительского контроля? Пытается загрузить миниатюры категорий на странице wordpress Добавить пользовательскую базу данных WordPress в приложении для Android Изображение большого размера Добавить номер участника для нового пользователя Сообщение не отображается в текстовом поле редактирования Вставить, а затем обновить post_type по wp_update_post Мой WP_Query не работал после обновления до WordPress 3.2 Что произойдет, если я удалю файл functions.php?

количество сообщений на страницу + случайные + исключить категории

У меня есть следующий код в моем home.php

<?php query_posts($query_string . '&orderby=rand' . '&cat=-182,-184'); ?> 

query_posts кажется не лучшим решением. Каким будет лучший способ pre_get_post или WP Query.

Очень ценим, если вы также можете написать правильный код.

С уважением,

Ив

pre_get_posts в ваших дочерних функциях, файл, на мой взгляд, лучший.

 add_action( 'pre_get_posts', 'wpsites_custom_get_posts' ); function wpsites_custom_get_posts( $query ) { if( $query->is_main_query() && $query->is_home() ) { $query->set( 'cat', '-182,-184' ); $query->set( 'posts_per_page', '12' ); $query->set( 'orderby', 'RAND' ); } } 

На мой взгляд, этот метод более гибкий.

Вы захотите использовать new WP_Query . Вот почему .

Вот пример того, что вы можете попробовать:

 $args=array( 'posts_per_page' => -1, 'orderby' => 'rand', 'category__not_in' => array(182, 184) ); $query = new WP_Query($args); if( $query->have_posts() ) { while ($query->have_posts()) : $query->the_post(); // Do loop stuff here endwhile; } wp_reset_query();