Cuando configuré meta cuadros en un tipo de publicación personalizado, lo hice usando el add_meta_boxes
gancho, por ejemplo
add_action('add_meta_boxes', 'meta_box_setup');
function meta_box_setup()
{
add_meta_box(
'mb_movie_review',
'Movie Review Details',
'display_movie_review_mb',
'movie-reviews',
'side',
'high'
);
}
Pero acabo de leer este tutorial que hace lo siguiente usando el admin_init
gancho, así ...
add_action('admin_init', 'meta_box_setup');
function meta_box_setup()
{
add_meta_box(
'mb_movie_review',
'Movie Review Details',
'display_movie_review_mb',
'movie-reviews',
'side',
'high'
);
}
Esta es la primera vez que lo veo usando el admin_init
gancho.
Pregunta
El último método (usando admin_init
) hace el trabajo, pero ...
- ¿Es este el método preferido ? (es decir, más optimizado?)
- solo una forma diferente de lograr los mismos resultados, o
- ¿Una mala manera de agregar meta cuadros? (si es así, ¿por qué?)
custom-post-types
metabox
admin-menu
durmiente
fuente
fuente
add_meta_boxes
es preferible.add_meta_boxes
. Tenemos incluso"add_meta_boxes_$post_type"
para un control más fino.Respuestas:
Eche un vistazo a esta lista: http://codex.wordpress.org/Plugin_API/Action_Reference
add_meta_boxes
es preferible. Algún día en el futuro, WordPress puede cambiar algo y al usar los ganchos más apropiados aumentará sus posibilidades de que su código siga funcionando en el futuro.add_theme_support()
que generalmente se usa con elafter_setup_theme
enganche de acción solo para usuarios registrados que son administradores, pero este enganche aún no le permite acceder a esta información. Por lo tanto, es probable que tenga que usarset_current_user
oinit
enganches de acción en su lugar (después de investigar un poco si es seguro hacerlo).fuente
Hay varios otros ganchos:
e inmediatamente después corre:
Si desea realizar diferentes comprobaciones de cancelación desde el enlace / devolución de llamada que realmente registra los meta cuadros, use uno de los anteriores ya que el
\WP_Screen
objeto no se llena tan pronto como seadmin_init
ejecuta.Si usó el
add_meta_boxes
gancho más genérico , puede verificar su primer argumento:Si no desea agregar su metacuadro siempre que la publicación no se haya guardado al menos una vez, puede verificar
y así. Conclusión: si desea reducir las cosas, use los ganchos que se muestran arriba.
fuente