Quiero saber si es una buena práctica según el tema de WordPress o el desarrollo de complementos.
add_action('init','all_my_hooks');
function all_my_hooks(){
// some initialization stuff here and then
add_action('admin_init',-----);
add_action('admin_menu',----);
// more like so
}
Gracias
hooks
customization
init
admin-init
atinder
fuente
fuente
wp_loaded
y MS info.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 eldo_action
yapply_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:
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)content.php
: agregar ganchos y funciones de devolución de llamada para filtrar contenidoadmin-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:
header.php
,content.php
,admin-menu.php
=> 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!
fuente