Добрый вечер…
У меня есть в каждом посте есть произвольное поле FIO соответственно там Фамилии и Имена туда забиваються…
Я сделал в шаблоне category.php вывод списка этих фамилий в столбик… Но у меня получилось что последние добавленные записи идут вверху… А мне надо так чтоб список постов сортировался по алфавиту пофамильно… Вот код который у меня сейчас стоит…
<?php $category = get_the_category();
$cat_name = $category[0]->cat_name;
$cat_id = get_cat_ID($cat_name);
//выполняем запрос в базу данных
$my_query = new WP_Query('showposts=100&cat='.$cat_id.''); //здесь showposts=10 - количество выводимых ПОСЛЕДНИХ постов из рубрики cat='.$cat_id.'
//выводим список новостей
if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();
if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts); ?>
<?php
$key = "fio";
$out = get_post_meta($post->ID, $key, true);
if ($out){
$link_show_a = get_permalink();
echo '<td class="history1"><a href="'.$link_show_a.'">'.$out.'</a></td>';
}
?>
Пробовал этот код скрестить с кодом который нашёл у СОНЬКИ для сортировки
<?php
usort($posts, 'rating_sort');
function rating_sort($a, $b) {
$ar = get_post_meta($a->ID, 'rating', true);
$br = get_post_meta($b->ID, 'rating', true);
if ($ar == $br) return 0;
return ($ar < $br) ? -1 : 1;
}
if (have_posts()) : while (have_posts()) : the_post();
?>
но у меня ничего не получилось… Буду благодарен за помощь…
может быть: WP_Query(‘showposts=100&cat=’.$cat_id.’&orderby=meta_value&order=ASC’);
честно говоря я немного неточно выразился… у меня там просто таблица с каждого поста и не одно произвольное поле выводиться… а несколько… фио дата рождения и.т.д. как в WP_Query добавить ещё чтоб оно определяло по какому ключу сортировать???
Не понял чего вы хотите, у вас же у всех записей есть поле ФИО?
Так выберет записи у которых есть поле ФИО и отсортирует по его значению
Спасибо огромное… то что надо… сработало…
Подскажите а как отсортировать по дате, которая записана в произвольное поле в формате dd/mm/yyyy
Ну очень нужна помощь
Очень-очень непросто. Если бы хранили дату в формате unixtime и форматировали при выводе, то сортировка делалась бы легко и просто средствами самого движка. А так, боюсь, придется копать очень глубоко.
короче получилось:) формать изменил на yyyy/mm/dd
может кому пригодится мой запрос такой:
<?php query_posts($query_string . "&posts_per_page=20&meta_key=nextdate&orderby=meta_value&order=asc"); ?>