Cum pot afișa aceste postări în ordine crescătoare?

1 ian. 2013, 02:50:17
Vizualizări: 19.8K
Voturi: -1

Încerc să afișez câteva postări în ordine crescătoare, începând cu prima creată și terminând cu cea mai recent creată postare. Orice ajutor este apreciat. Iată codul meu:

<?php
$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 == "Single Page" ) {$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; // despre
                    $specialism = $xmlObject_author->specialism; // specializare
                    $qualifications = $xmlObject_author->qualifications; // calificări
                    $philosophy = $xmlObject_author->philosophy; // filozofie
                    $contact = $xmlObject_author->contact; // contact
            }
            else {
                $about = '';
                $specialism = '';
                $qualifications = '';
                $philosophy = '';
                $contact = '';
            }
?>
1
Comentarii

Crescător sau descrescător?

fuxia fuxia
1 ian. 2013 02:52:41
Toate răspunsurile la întrebare 2
1

Rețineți că funcția query_posts este mai bine de evitat, deoarece are efecte negative asupra buclei principale. O abordare mai bună ar fi crearea unei noi instanțe de WP_Query sau modificarea argumentelor de interogare pentru bucla principală.

Pentru a obține ordinea dorită, încercați să adăugați următoarele argumente:

array( 'posts_per_page' => '-1', 'post_type' => 'coach-instructor' ,'post_status' => 'publish', 'orderby' => 'date', 'order' => 'ASC')
1 ian. 2013 02:58:06
Comentarii

Mulțumesc pentru ajutor. A funcționat. Încă învăț PHP și lucrez în cadrul Wordpress. Acest lucru mă va ajuta și pe viitor.

Tom Geoco Tom Geoco
1 ian. 2013 03:58:25
1
-2
$orde = ('orderby','date'); // Sortează după dată
$ordr = ('order','DESC');  // Ordine descendentă
$query = array(
    'post_type' => array('posts_per_page'), // Tipul postării
    'orderby'   => $orde, // Sortează după
    'order'     => $ordr  // Ordinea
);
14 ian. 2023 01:00:34
Comentarii

Bine ați venit pe WPSE! Parametrii pe care îi transmiteți interogării sunt invalizi. orderby poate fi un array, dar în acest caz "coloana de sortare" (mai precis valoarea care denotă coloana) trebuie să fie o cheie în array, nu o valoare. Folosirea unui array în orderby ar trebui să arate astfel: $args = array( "orderby" => array("date"=>"DESC") ).

nmr nmr
14 ian. 2023 13:08:23