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)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как перестать толстеть?
234 DocAnton64 22884 Сегодня, 11:58
автор: spomoni
Горячая тема (нет новых ответов) Атака клонов! Или как бороться с мультиаккаунтами.
123 Pelican_Program 35966 Вчера, 23:01
автор: Pelican_Program
Горячая тема (нет новых ответов) Как и где отдыхать весной-летом 2021?
35 uahomka 691 20.4.2021, 23:55
автор: VinogradOFF
Открытая тема (нет новых ответов) Как в Wordpress центрировать изображение по умолчанию?
6 SkyFire 1751 18.4.2021, 0:55
автор: kvsgeek
Открытая тема (нет новых ответов) Хочу встать на учет как самозанятый
Какие там нюансы и подводные камни?
12 PostBrigada 437 17.4.2021, 20:47
автор: JOHNY


 



RSS Текстовая версия Сейчас: 23.4.2021, 15:21
Дизайн