Как отобразить записи в порядке возрастания?

1 янв. 2013 г., 02:50:17
Просмотры: 19.8K
Голосов: -1

Я пытаюсь отобразить записи в порядке возрастания, начиная с первой созданной и заканчивая самой последней созданной записью. Буду благодарен за помощь. Вот мой код:

<?php
// Количество участников = -1
$numofmebers = '-1';
if ( empty($_GET['page_id_all']) ) $_GET['page_id_all'] = 1;
    $count_post = 0;
        query_posts( array( 'posts_per_page' => '-1', 'post_type' => 'coach-instructor' ,'post_status' => 'publish') );
        while ( have_posts()) : the_post();
            $count_post++;
        endwhile;
            if ( $node->instructor_pagination == "Одна страница" ) {$node->instructor_page_num = -1;}
            query_posts( array('posts_per_page' => "$node->instructor_page_num", 'paged' => $_GET['page_id_all'], 'post_type' => 'coach-instructor' ,'post_status' => 'publish') ); 
        $counter_news = 0;
        while ( have_posts()) : the_post();
        $counter_news++;
        $image_id = get_post_thumbnail_id ( $post->ID );
        $coach_istructor_meta = get_post_meta($post->ID, "cs_coach_istructor_meta", true);
            if ( $coach_istructor_meta <> "" ) {
                $xmlObject_author = new SimpleXMLElement($coach_istructor_meta);
                    $about = $xmlObject_author->about;
                    $specialism = $xmlObject_author->specialism;
                    $qualifications = $xmlObject_author->qualifications;
                    $philosophy = $xmlObject_author->philosophy;
                    $contact = $xmlObject_author->contact;
            }
            else {
                // Если мета-данные пусты, устанавливаем пустые значения
                $about = '';
                $specialism = '';
                $qualifications = '';
                $philosophy = '';
                $contact = '';
            }
?>
1
Комментарии

По возрастанию или по убыванию?

fuxia fuxia
1 янв. 2013 г. 02:52:41
Все ответы на вопрос 2
1

Имейте в виду, что query_posts лучше избегать, так как он негативно влияет на основной цикл. Более правильным подходом будет создание нового экземпляра WP_Query или изменение аргументов запроса для основного цикла.

Чтобы получить нужный порядок, попробуйте добавить следующие параметры в args:

array( 'posts_per_page' => '-1', 'post_type' => 'coach-instructor' ,'post_status' => 'publish', 'orderby' => 'date', 'order' => 'ASC')
1 янв. 2013 г. 02:58:06
Комментарии

Спасибо за помощь. Это сработало. Я всё ещё изучаю PHP и работаю в рамках Wordpress. Это поможет мне и в будущем.

Tom Geoco Tom Geoco
1 янв. 2013 г. 03:58:25
1
-2
$orde = ('orderby','date'); // Сортировка по дате
$ordr = ('order','DESC');   // Порядок сортировки - по убыванию
$query = array(
    'post_type' => array('posts_per_page'), // Тип записи
    'orderby'   => $orde,                   // Параметр сортировки
    'order'     => $ordr                    // Направление сортировки
);
14 янв. 2023 г. 01:00:34
Комментарии

Добро пожаловать на WPSE! Параметры, которые вы передаете в запрос, недопустимы. orderby может быть массивом, но в этом случае "столбец сортировки" (точнее, значение, обозначающее столбец) должно быть ключом в массиве, а не значением. Использование массива в orderby должно выглядеть так: $args = array( "orderby" => array("date"=>"DESC") ).

nmr nmr
14 янв. 2023 г. 13:08:23