WedX - журнал о программировании и компьютерных науках

get_posts - порядок по описанию в неправильном порядке

В моем плагине WordPress я получаю сообщения, используя следующее:

$args = array(
     'post_type' => 'wpplugin_pp_order',
     'posts_per_page' => -1,
     'order' => 'ASC',
     'orderby' => 'ID'
);

$posts = get_posts($args);

Проблема в том, что результат возвращается для post_id:

3000
3001
3002
3003
2999
2998

Как я могу поставить результат в правильном порядке?


  • У вас есть прикрепленные сообщения 11.06.2015
  • На каком-то веб-сайте у меня почти такой же код, за исключением того, что я поместил оператор «orderby» перед «order» в массиве args. Вы пробовали это? Для меня это работает хорошо. 12.06.2015

Ответы:


1

Нашел решение этой проблемы - (похоже, у других тоже есть такая же проблема - Порядок вложений Wordpress get_posts)

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

function usort_reorder($a,$b) {
$orderby = (!empty($_REQUEST['orderby'])) ? $_REQUEST['orderby'] : 'order';
$order = (!empty($_REQUEST['order'])) ? $_REQUEST['order'] : 'asc';
$result = strcmp($a[$orderby], $b[$orderby]);
return ($order==='asc') ? $result : -$result;
}

usort($data, 'usort_reorder');

Чтобы решить эту проблему, просто поместите вокруг него оператор if:

        if (isset($_REQUEST['orderby'])) {
            function usort_reorder($a,$b) {
                $orderby = (!empty($_REQUEST['orderby'])) ? $_REQUEST['orderby'] : 'order';
                $order = (!empty($_REQUEST['order'])) ? $_REQUEST['order'] : 'asc';
                $result = strcmp($a[$orderby], $b[$orderby]);
                return ($order==='asc') ? $result : -$result;
            }
            usort($data, 'usort_reorder');
        }
11.06.2015

2

я нашел некоторые для вас здесь:

https://wordpress.stackexchange.com/questions/109849/order-by-desc-asc-in-custom-wp-query

Просто измените «ASC» на «DESC» и сделайте это снова (:

Дайте мне знать, если я помог как-то.

20.04.2017
Новые материалы

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


Для любых предложений по сайту: [email protected]