Dans mon environnement wordpress, j'ai un certain nombre de pages et un type de message personnalisé appelé casestudy. J'ai configuré un page-clients.php qui possède une partie de son propre contenu. J'utilise ensuite la fonction query_posts()
pour extraire tous les messages avec le type d'étude de cas.
Lors de la visualisation d'une seule étude de cas, je souhaite montrer un navigateur, celui-ci doit contenir les liens vers les pages, les clients, les études de cas et les études de cas sous-jacentes. Je souhaite ajouter tous les articles de type "casestudy" personnalisé. jusqu'ici j'ai suivi,
<?php wp_list_pages(array('include' => '154, 136', 'title_li' => '', 'sort_column' => 'ID', 'sort_order' => 'DESC', 'depth' => '1')); ?>
Comment puis-je répertorier tous les postes d'étude de cas aussi, peut-on le faire avec wp_list_pages()
La fonction wp_list_pages()
utilise get_pages()
, qui accepte une clé de tableau de arguments post_type
. Vous pouvez donc utiliser la même clé de tableau d'arguments dans `wp_list_pages ():
<?php
wp_list_pages( array(
'post_type' => 'casestudy'
) );
?>
Malheureusement, il semble que la valeur post_type
doit être une chaîne , plutôt qu'un tableau (c'est-à-dire, si je lis la source correctement); ce qui signifie que wp_list_pages()
ne peut gérer qu'un seul type de message à la fois. Si vous avez besoin de tout lister dans un menu, vous pouvez essayer de les concaténer:
<?php
$pagelist = wp_list_pages( array(
'include' => '154, 136',
'title_li' => '',
'sort_column' => 'ID',
'sort_order' => 'DESC',
'depth' => '1'
'echo' => false
) );
$casestudylist = wp_list_pages( array(
'post_type' => 'casestudy',
'title_li' => '',
'echo' => false
) );
$concatenatedlist = $pageslist . $casestudylist;
?>
<ul>
<?php echo $concatenatedlist;
</ul>
Références Codex: