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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


Плагин 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


попробуй так:
<? $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


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(); } ?>


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
28 freeax 4566 12.4.2024, 1:22
автор: PostMan1
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19647 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3053 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13627 31.3.2024, 12:44
автор: Boymaster
Горячая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
29 metvekot 4268 31.3.2024, 0:17
автор: Liudmila


 



RSS Текстовая версия Сейчас: 16.4.2024, 13:40
Дизайн