function_exists call en function.php

4

En el archivo function.php de los veinte años, la función de configuración comprueba si existe antes de ejecutarlo:

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

add_action( 'after_setup_theme', 'twentyeleven_setup' );

Sin embargo, en veinte y doce, no está configurado de esta manera (no comprueba si la función existe). Mi pregunta es: ¿cuál es el punto de este patrón de diseño? ¿Function_exists solo verifica si la función ha sido definida (que está en la siguiente línea?) O si hace algo más? ¿Por qué el nuevo tema no lo incluye?

    
pregunta William 08.04.2013 - 19:24

1 respuesta

6

Esa función twentyeleven_setup , y otras similares, son conectable , lo que significa que pueden ser anulado por un tema infantil. La versión del tema secundario de una función con el mismo nombre se analizará primero, por lo que la versión del tema principal no se ejecutará en absoluto.

En TwentyTwelve, algunas funciones no son conectables, sino que están conectadas a los ganchos. Al adjuntar funciones alternativas a esos mismos ganchos en un tema secundario, puede anular la lógica interna de la función del tema principal, sin reconstruir toda la función.

    
respondido por el vancoder 08.04.2013 - 19:33

Lea otras preguntas en las etiquetas