function_exists appelle dans function.php

4

Dans le fichier function.php de la vingtaine, la fonction d'installation vérifie son existence avant de l'exécuter:

if (!function_exists('twentyelevent_setup')):
function twentyelevent_setup() {
... Setup code ...
}

add_action( 'after_setup_theme', 'twentyeleven_setup' );

Cependant, sur douze, il n’est pas configuré comme ceci (il ne vérifie pas si la fonction existe). Ma question est la suivante: à quoi sert ce modèle? Function_exists vérifie-t-il simplement que la fonction a été définie (quelle est-elle sur la ligne suivante?) Ou fait-elle autre chose? Pourquoi le nouveau thème ne l'inclut-il pas?

    
posée William 08.04.2013 - 19:24

1 réponse

6

Cette fonction twentyeleven_setup , et d’autres fonctions similaires, sont connectables , ce qui signifie qu’elles peuvent être remplacé par un thème enfant. La version du thème enfant d'une fonction portant le même nom sera analysée en premier. La version du thème parent ne sera donc pas exécutée du tout.

Dans TwentyTwelve, certaines fonctions ne sont pas connectables, mais sont plutôt rattachées à des crochets. En associant des fonctions alternatives aux mêmes points d'ancrage d'un thème enfant, vous pouvez remplacer la logique interne de la fonction de thème parent sans reconstruire l'intégralité de la fonction.

    
réponse donnée vancoder 08.04.2013 - 19:33

Lire d'autres questions sur les étiquettes