web-dev-qa-db-fra.com

Je rencontre beaucoup de problèmes depuis la mise à niveau vers la version 3.0.1 avec la fonction get_page_children ()

J'utilise la fonction get_page_children () pour créer un sous_nav pour un client concepteur pour lequel je travaille. Elle utilise le flyout JS de Spry Assets créé par DreamWeaver. Je dois donc faire les menus manuellement comme ceci plutôt que d’utiliser la nouvelle fonctionnalité de menus de WordPress.

Je les avais tous configurés et fonctionnaient parfaitement, puis ma cliente est passée à la version 3.0.1 et elle a dit que cela les avait cassés. Je ne sais pas si c'est arrivé alors ou si c'est quelque chose d'autre qui a causé la rupture.

J'ai réduit le problème. Le Codex indique que vous devez obtenir une liste de tous les objets de page à utiliser pour cette fonction. Vous utilisez une fonction "requête" que je n'ai jamais vue auparavant.

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

$my_wp_query = new WP_Query();
$all_wp_pages = $my_wp_query->query(array('post_type' => 'page'));

Ces 2 lignes devraient générer un tableau de tous vos objets de page utilisable par get_page_children () ultérieurement.

Cependant, cela ne fonctionne plus car $ all_wp_pages N'EST PAS sur toutes mes pages. J'ai 38 pages sur ce site, et quand je fais une sortie du tableau $ all_wp_pages, je n'ai que 10 pages.

Quelqu'un a une idée de pourquoi cela se produirait? Les 10 pages qui apparaissent ne sont qu'une page et ses enfants. Mais ils apparaissent peu importe la page sur laquelle vous vous trouvez. C'est vraiment bizarre.

Merci!

1
Jason Rhodes

Je n'ai pas assez de pages pour tester, mais j'ai une idée que 10 est le numéro de pagination par défaut.

$all_wp_pages = $my_wp_query->query(array(
    'post_type' => 'page',
    'posts_per_page' => -1
    ));

Si cela ne fonctionne pas, je vais essayer de trouver du temps pour générer un tas de pages et tester.

3
Rarst