Intereting Posts
Как перечислять сообщения по срокам (пользовательская таксономия) Как преобразовать путь к URL-адресу того же файла? Как изменить почту по умолчанию, когда администратор одобрил пользователя? Плагин для подписчиков Shortcode Неподготовленное исключение, создающее торговый бот Меню верхнего уровня администратора, указывающее на внешний URL-адрес Переиздание списков пользовательских таксономических списков Как изменить возможности страницы меню Как сохранить дату / время последнего обновления дополнительного поля профиля пользователя? Внедрение плагина Select2 в WordPress Archive.php отфильтровано по заранее определенной категории Таинственное изменение шаблона после импорта / экспорта базы данных Имеет ли «Пользовательский тип сообщения» параметр страницы hierarhy? Запланированные события исчезают из очереди событий Маркирование будущего от опубликованной публикации

Измените цикл, но сохраните исходный запрос, что я делаю неправильно?

У меня есть пользовательский тип сообщения, в котором у меня есть cities таксономии и термин berlin . Архив можно увидеть в example.com/cities/berlin и он обычно отображается из шаблона archive.php .

Теперь я хочу заказать их в соответствии с настраиваемым полем start_date в этом случае, но все равно сохраняю исходный запрос. Так что, когда я перейду к example.com/cities/newyork цикл будет работать так, как ожидалось.

Это то, что у меня есть, но я получаю только <p>Not Found</p> в конце.

Пожалуйста помоги.

Благодаря 🙂

 <?php global $query_string; //to keep the original query around $args = array( 'orderby' => 'meta_value_num', 'meta_key' => 'start_date', 'order' => 'DESC' ); $posts = query_posts($query_string . $args); if (have_posts()) : while (have_posts()) : the_post(); ?> do stuff <?php endwhile; else : ?> <p>Not Found</p> <?php endif; ?> 

Вы не можете объединить массив в query_string, как это. См. « Копирование страницы WordPress» о цикличности для правильного формата. В качестве альтернативы вы можете использовать array_merge() как на странице Code_posts Codex .

wp_reset_query() использовать wp_reset_query() после вашего цикла. Иногда вы также увидите, что люди сохраняют исходный $query_string для новой переменной, изменяют $query_string и затем сбрасывают $query_string после цикла следующим образом:

 global $query_string; $old_query = $query_string // Modify your query, loop through it $query_string = $old_query; 

Старый вопрос, но он был на первой странице, поэтому я обязан публиковать сообщения и говорить «Никогда не использовать query_posts() ». Чтобы изменить запрос без разрушения исходного запроса, вы должны использовать pre_get_posts .

 function wpa_49346_pre_get_posts( $query ){ if( is_tax() ){ set_query_var( 'meta_key', 'start_date' ); set_query_var( 'orderby', 'meta_value_num' ); set_query_var( 'order', 'DESC' ); } } add_action( 'pre_get_posts', 'wpa_49346_pre_get_posts' );