web-dev-qa-db-fra.com

Comment wordpress calcule-t-il la profondeur de la page?

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.

3
gdaniel

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_elements'appelle lui-même jusqu'à la fin ou le paramètre depth donné.

3
Nicolai