2009-08-20 21 views

risposta

7

vorrei saltare il ciclo e semplicemente utilizzare get_page($id) come descritto qui:

http://codex.wordpress.org/Function_Reference/get_page

Tutto quello che dovete sapere è l'ID del delle pagine, e si può tirare uno alla volta dovunque tu voglia.

+3

Se volevo applicare il modello che ho specificato in Wordpress su ciascuna di queste pagine? – Prusprus

+0

Questo approccio è ora deprecato –

+0

Sto cercando anche una risposta a questa domanda, ma 'get_page' è ora deprecato. Qualcuno può raccomandare un'alternativa, per favore? – mattnewbie

1

Ecco un esempio di come è possibile farlo. Questo codice funzionerà se hai tutte le pagine che vuoi visualizzare sotto un genitore. In questo caso, stavo mettendo le pagine sotto la home page (p.post_parent = 2).

if ($post->post_type == 'page') {      

    $pages = $wpdb->get_results("SELECT p.ID, p.post_name, p.post_title, p.post_parent, pm.meta_value FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS pm ON pm.post_id=p.ID AND pm.meta_key='wp_menu_nav' LEFT JOIN $wpdb->posts AS P ON P.ID=p.post_parent WHERE p.post_parent = 2 AND p.post_type='page' AND p.post_status='publish' ORDER BY p.menu_order ASC"); 

    if ($wpdb->num_rows > 0) {       

     foreach($pages as $page) { 

      //echo $page->ID . "<br>"; 
      $args = array('numberposts' => 1, 'post_type'=> 'page', 'include' => $page->ID, 'post_status' => 'published'); 

      $myposts = get_posts($args); 

      foreach($myposts as $mypost) { 
       setup_postdata($mypost); 
       echo the_content(); 
      } 

     } 

    } 

} 
+1

In genere non è una buona idea utilizzare query SQL raw se puoi evitarlo. Ci sono molti modi per accedere a un numero arbitrario di pagine con WordPress. get_page() o modificare la query su "pre_get_posts" funzionerebbe bene. –

+1

Intendi le funzioni di WordPress che rendono più chiamate e connessioni non necessarie al database? Che ne dici di dare alcuni esempi di codice piuttosto che fare riferimento ad alcune funzioni che chiunque può cercare, il che non aiuta nessuno? Quello che ho offerto è stata una soluzione reale che funziona ;-) – John

Problemi correlati