Большой Воронежский Форум
» Веб-дизайн>Wordpress - произв. поля сортировать не по очереди из дочерних рубрик.
AlexanderSergeev 16:24 04.09.2012
В сайдбаре осуществлен вывод постов из рубрики "события", причем у каждой записи есть произвольное поле "date".

wp_reset_query ();
query_posts(array(
'cat'=>1,
'meta_key'=>'date',
'orderby'=>'meta_value',
'post_type'=>'post',
'order'=>'DESC',
'showposts'=>'3'
));

и дальше вывод...

проблема в том, что я и так 08-09-2012 и так 08.09.2012 пробовал...короче к как бы я не задавал дату, не сортируются посты правильно.

Как отсортировать по произвольному полю даты?
SeFuS 18:18 04.09.2012
strtotime
silly 19:48 04.09.2012
Ну, наверно, 'orderby'=>'date'.
silly 18:36 05.09.2012
Я немного посмотрел документацию. Раз уж мета-поля хранятся в отдельной таблице на манер eav, то, очевидно, тип колонки meta_value — строковый и сортировка там алфавитная.
AlexanderSergeev 18:57 05.09.2012
да в том то и дело.
нет вопроса например три поля сделать день,месяц,год, но опятьже..сортировать то в цикле как..

пока решений кроме как идиотскую выборку самому из базы писать не вижу((

P.S. да, как строку сортирует
AlexanderSergeev 18:59 05.09.2012
strtotime? и куда это, движок лезть ковырять,чтобы при добавлении менял содержимое поля? человек то не будет в админке писать в формате strtotime...
silly 20:11 05.09.2012

Сообщение от AlexanderSergeev:
нет вопроса например три поля сделать день,месяц,год, но опятьже..сортировать то в цикле как..

Каком цикле?
silly 20:28 05.09.2012
Попробуй 'orderby' => 'str_to_date(meta_value, \'%d-%m-%Y\')'.
AlexanderSergeev 14:13 06.09.2012
F0CK, it's works!
AlexanderSergeev 13:01 07.09.2012
Возникла еще одна проблема.

Постараюсь объяснить понятно, а не как всегда, т.к. решение сам пока не нашел.

Есть рубрика "события" id1;
Она содержит несколько подрубрик (для примера "район" id3, "город" id4, "облать" id5, "страна" id6);
Все посты содержат произвольное поле "date" вида dd.mm.YYYY;

Как сортировать по этому полю решили выше, но проблема вот с чем:
- в сайдбаре выводятся n последних события из ВСЕЙ РУБРИКИ "СОБЫТИЯ" (включая подкатегории), сортируются по пр.полю.

ПРОБЛЕМА: Выводятся сортированые записи сначала из одной рубрики, потом из другой и тд.

Т.е., например:

-пост1 (дата 30.09.2012), рубрика "район"
-пост3(дата 20.09.2012), рубрика "район"
-пост5 (дата 10.09.2012), рубрика "район"
-пост2(дата 29.09.2012), рубрика "город"
-пост4 (дата 19.09.2012), рубрика "город"
-пост6 (дата 09.09.2012), рубрика "город"

А нужно сделать так, чтобы просто все посты шли по дате, а не по очереди из каждой рубрики. т.е. пост1,пост2,пост3...

Помогите, как так сделать, как что в цикле указать?
AlexanderSergeev 20:41 07.09.2012
Как выяснил (но проблему это не решило), такое происходит только при сортировке по произвольным полям.
Если сортировать по умолчанию (orderby=>date), то ВП пофиг на дочерние рубрики, сортирует все посты подряд.
AlexanderSergeev 10:40 09.09.2012
Нашелся выход..на форуме зарубежном.
http://wordpress.org/support/topic/s...y-custom-field
Вверх