X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Как отсортировать записи по доп. полю и выбрать одну. WP
S1xteen
S1xteen
Topic Starter сообщение 24.12.2012, 18:07; Ответить: S1xteen
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 293
Регистрация: 20.9.2010
Поблагодарили: 64 раза
Репутация:   12  


Плагин magic fields, доп поле 'weight' строкового типа, содержащее только вещественное число.

Вот так я могу выбрать нужную мне запись с полем weight=1.5, но не знаю как отсортировать все записи из $the_query и вывести одну, с наименьшим значением weight.

<? $the_query = new WP_Query( 'post_type=model&meta_key=weight&meta_value=1.5'); ?>

<?php $the_query->the_post(); ?>
    <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('model-thumb'); ?></a>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php wp_reset_query(); wp_reset_postdata();?>


P.S умею сортировать массивы чисел на С, но каким образом сортировать записи в wp - не понимаю.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Karlasan
Karlasan
сообщение 25.12.2012, 5:01; Ответить: Karlasan
Сообщение #2


Участник
***

Группа: User
Сообщений: 122
Регистрация: 25.4.2008
Поблагодарили: 63 раза
Репутация:   19  


попробуй так:
<? $the_query = new WP_Query( 'post_type=model&meta_key=weight&orderby=meta_value_num&order=ASC&posts_per_page=1'); ?>


Сообщение отредактировал Karlasan - 25.12.2012, 5:11


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
S1xteen
S1xteen
Topic Starter сообщение 25.12.2012, 17:39; Ответить: S1xteen
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 293
Регистрация: 20.9.2010
Поблагодарили: 64 раза
Репутация:   12  


Karlasan, В принципе работает, но не так как надо. Записи выбираются даже те, в которых поле weight не заполнено.

По закону подлости реализацию искал очень долго, и как только спросил помощи здесь, сразу-же сам додумался о решении задачи smile.gif

Сделал вот так, м.б не очень красиво, но решает мою проблему, надеюсь ещё кому-нибудь пригодится.
<?php
$querystr = " SELECT wposts.*
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
    WHERE wposts.ID = wpostmeta.post_id
    AND wpostmeta.meta_key = 'weight'
    AND NOT wpostmeta.meta_value = ''
    AND wposts.post_type = 'model'
    AND wposts.post_status = 'publish'
    ORDER BY wpostmeta.meta_value ASC
";
$pageposts = $wpdb->get_results($querystr, OBJECT);
if ($pageposts)
{
    foreach ($pageposts as $post) : setup_postdata($post); ?>
        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('model-thumb'); ?></a>
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php break; endforeach; wp_reset_postdata(); } ?>


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как заработать новичку?
106 Emeralda 17615 Сегодня, 21:17
автор: lesssss81
Горячая тема (нет новых ответов) Как заставить Google любить тебя?
Хочу роста трафа из Гугла : ))
72 Aslan88 16129 Сегодня, 21:02
автор: alexandrrr
Открытая тема (нет новых ответов) Как установить источник заражения сайтов?
5 kelevra 315 Сегодня, 17:55
автор: Nell
Открытая тема (нет новых ответов) Какой из этих 2-х движков выбрать?
Желательно с аргументами:)
9 landis 495 Сегодня, 17:41
автор: Caterpillar
Горячая тема (нет новых ответов) Как быстро похудеть мужчине в домашних условиях?
бесплатно, без регистрации, без смс
211 Silverspam 13347 Сегодня, 16:48
автор: Catherine_Molli


 



RSS Текстовая версия Сейчас: 11.12.2017, 23:05
Дизайн