Intereting Posts
Переписать неверно перенаправляет все страницы на одну и ту же ссылку wp_query orderby title и значение мета-ключа (WP3.1) как отобразить имя таксономии в теге shorcode php Создать короткий код в Child Theme? Получить посты на основе категории более двух категорий Отображение страницы «0», когда нет представления Как перечислить персонализированные заголовки типа на основе их терминов таксономии Внутри вложенной петли URL-ссылки соответствуют меню? Как показать содержимое пользовательских полей в результатах поиска? Невозможно получить конкретную ценность из метаданных Цифровая сортировка коротких номеров галереи Почему wp_head () приведет к нарушению меню? Мои настраиваемые панели записи не будут сохранять данные. Что мне не хватает? Как добавить логотип dynamiclly в тему WordPress? Принудительно обновлять все сообщения в настраиваемом типе сообщений, без изменений содержимого

WordPress запрос по категориям, отсортированный по пользовательскому полю

У меня есть три настраиваемых поля для каждой из постов в категории событий – год, месяц и день. Я уже запрашиваю категорию событий, и теперь я хочу сортировать сообщения по настраиваемым полям. Я предполагаю, что мне просто нужно вставить что-то в раздел query_posts кода, но я не уверен, что. Какие-либо предложения?

<?php query_posts('category_name=events&showposts=6'); ?> <?php while (have_posts()) : the_post(); ?> <li> <div class="date"> <span class="day"><?php echo get_post_meta($post->ID, 'month', true); ?>/<?php echo get_post_meta($post->ID, 'day', true); ?></span> <span class="year"><?php echo get_post_meta($post->ID, 'year', true); ?></span> </div> <div class="details"> <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> &rarr;</h3> </div> </li> <?php endwhile; ?> 

Я могу объяснить больше: дата создания сообщения неважно, но я хочу сначала отсортировать поле «год», затем в поле «месяц», а затем в поле «день»

Solutions Collecting From Web of "WordPress запрос по категориям, отсортированный по пользовательскому полю"

Я не думаю, что легко отсортировать по трем различным мета-значениям, и действительно, я не понимаю, почему вам нужно в этом случае. Почему бы не просто сохранить дату события в одном мета-значении и отсортировать его? Это делает ваш запрос намного более эффективным (удаляет два ненужных объединения) и позволяет вам использовать поле порядка WP_Query для сортировки ваших сообщений, а не для написания пользовательского запроса или фильтрации каждого предложения SQL запроса, чтобы заставить его делать то, что вы хотите.

Я думаю, что это можно сделать с добавлением

 meta_key=yourcustomfield&orderby=meta_value 

к запросу

Прежде всего, вы не должны использовать query_posts. Во-вторых, вы должны передать массив, а не строку запроса.

 $query = new WP_Query( array( 'category' => 'event', 'meta_key' => 'month', 'meta_value' => 'June', 'meta_compare' => '<' 'orderby' => 'month') //or whatever parameters you choose. ); // The Loop while ( $query->have_posts() ) : $query->the_post(); //your markup goes here endwhile; // Reset Post Data wp_reset_postdata();