No veo los grandes beneficios de esta práctica, por estos motivos:
Sus funciones de devolución de llamada no se llaman al registrarse
los add_action
add_filter
funciones y solo agregan una entrada a la variable global $wp_filter
que contiene todos los filtros y acciones. Ver fuente . No llama a tu función. Su código se ejecutará solamente cuando el do_action
y apply_filters
se llama (nombre con gancho apropiado), que pasa muy tarde en el lugar donde los ganchos deben ser.
Se podría decir que al hacerlo, la variable global se hará $wp_filter
más grande => se requiere más memoria. Pero creo que crear una nueva función tiene el mismo problema.
Código de organización
Poner todo en una función te obliga a recordar todos los ganchos en cada archivo en tu tema / complemento. Usted no sería hacer algo como esto:
- en
header.php
: agregar ganchos y funciones de devolución de llamada para que las cosas sucedan en el encabezado (como menú, registro de secuencia de comandos)
- en
content.php
: agregar ganchos y funciones de devolución de llamada para filtrar contenido
admin-menu.php
: agrega ganchos y funciones de devolución de llamada para agregar el menú de administración
(suponga que esos archivos se colocan en su tema / complemento)
En lugar de eso, tienes que:
- poner solo funciones de devolución de llamada en
header.php
, content.php
,admin-menu.php
- y poner todos los ganchos en una función separada en otro archivo
=> Eso te hará difícil saber qué sucede cuando miras el contenido de header.php
archivo. Debe buscar para saber cuándo se activan estas devoluciones de llamada.
Y piense en la situación cuando tiene varias clases en su tema / complemento. ¿Pones todos los ganchos de todas las clases en un solo lugar? ¿O cada clase tiene una función de contenedor que contiene todos los ganchos? ¡Es demasiado redundante!
Por encima de esta razón, creo que es un estilo personal :). Veo algunos marcos como Hybrid hace lo que dijiste. ¡A veces me resulta difícil cavar en esos marcos!
wp_loaded
y MS info.