Lorsque vous utilisez des fonctions telles que wp_list_pages()
, WordPress vous propose l'option depth
. Comment est-il calculé?
Est-il stocké quelque part dans la base de données? (Je ne pouvais pas le trouver).
Ou est-ce calculé dans une boucle vérifiant les parents post?
Ce qui est étrange, c’est que wp_list_pages()
offre le paramètre depth
mais cette fonction est basée sur get_pages()
qui ne dispose pas de la même option.
Ok, voyons ça en détail, tous les liens vont être vers le code source.
wp_list_pages()
uniquement utilise get_pages()
pour (sic!) obtenir des pages, walk_page_tree()
effectue la structuration hiérarchique à l'intérieur de celle-ci . La suite du processus va Walker_Page
- et le générique Walker
de bien sûr -, sauf si un marcheur personnalisé est utilisé. Dans walk_page_tree()
, vous verrez , la méthode des marcheurs walk
, qui appelle ensuite la méthode display_element
. Principalement dans le display_element
, mais aussi dans la méthode walk
, vous trouvez le traitement de la profondeur.
Pour faire court: la profondeur est gérée par itération, display_element
s'appelle lui-même jusqu'à la fin ou le paramètre depth
donné.