Intereting Posts
удалить строку запроса с главной страницы Woocommerce показывает изображения размытыми на странице описания Отправить дополнительный параметр с помощью xml-rpc login? Ошибка PHP с обработчиком shortcode из класса wp_verify_nonce не работает Использование данных WordPress в качестве входных данных для визуализации google Я не могу получить разбивку на страницы, чтобы работать над кодом моей домашней страницы. он продолжает отображать те же сообщения get_post_terms не работает должным образом Ajax вставляет или обновляет данные Автоматическое создание пользовательского заголовка сообщения на основе мета Страницы страниц с динамическим запросом Проверьте файл javascript Правильный способ в functions.php Трудно меняющийся формат даты в метатете post Могу ли я заставить WordPress использовать <i> вместо <em>? Автоматически добавляет проверку скрытого заголовка и добавляет абзац при добавлении текста

Сортировка сообщения по атрибутам 'order'

Как отсортировать отображаемые сообщения по атрибуту «заказ»?

В functions.php я добавил «Атрибуты» для сообщений

function wpzen_add_attributes_to_post() { add_post_type_support('post', 'page-attributes'); } add_action('init', 'wpzen_add_attributes_to_post'); function wpzen_change_post_order($query) { if($query->is_main_query()) { $query->set('orderby', 'menu_order'); } } add_action('pre_get_posts', 'wpzen_change_post_order'); 

В коде отображается обзор сообщений, как показано ниже:

 <?php $show_posts = '12'; $cat_name = 'Products'; $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $my_query = new WP_query('category_name=' . $cat_name . '&showposts=' . $show_posts . '&paged=' . $paged ); global $wp_query; $wp_query->in_the_loop = true; while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID;?> <a href="<?php echo get_permalink(); ?>"> <h2><?php the_title(); ?></h2> </a> <?php the_content( $more_link_text , $strip_teaser ); ?> <?php endwhile; ?> 

Как сортировать сообщения в соответствии с атрибутом «порядок» (по возрастанию или по убыванию).

Solutions Collecting From Web of "Сортировка сообщения по атрибутам 'order'"

Ну, боюсь, это не сработает. Позвольте мне объяснить, почему …

В функции wpzen_change_post_order вы проверяете, $query->is_main_query() . Если быть точным, это проверяет, является ли заданный запрос основным запросом для текущей страницы – запрос, сгенерированный WP, для отображения сообщений по умолчанию для текущей страницы.

Поэтому, если вы создаете свой собственный объект WP_Query , это условие будет ложным, и ваша функция не будет устанавливать параметр orderby .

Как это изменить?

Есть способы исправить это. Во-первых: удалите оператор if из wpzen_change_post_order . Но тогда вы должны быть осторожны и добавить некоторые другие проверки там, так что вы будете уверены, что вы изменяете только те запросы, которые вы действительно хотите. (Особенно вы должны проверить, if ( ! is_admin() ) )

Второй способ, намного проще, я думаю … Добавьте параметр WP_Query прямо в ваш WP_Query . Таким образом, код, отображающий сообщения, будет выглядеть так:

 <?php $show_posts = '12'; $cat_name = 'Products'; $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $my_query = new WP_Query( array( // <- It's better to use array 'category_name' => $cat_name, 'posts_per_page' => $show_posts, // <- showposts is deprecated for long time, so use posts_per_page instead 'paged' => $paged, 'orderby' => 'menu_order' ) ); global $wp_query; // <- I'm not sure what do you want to accomplish with these 2 lines $wp_query->in_the_loop = true; while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID;?> <a href="<?php echo get_permalink(); ?>"> <h2><?php the_title(); ?></h2> </a> <?php the_content( $more_link_text , $strip_teaser ); ?> <?php endwhile; ?>