Lors de la configuration de méta-boîtes dans un type de message personnalisé, je le fais en utilisant le add_meta_boxes
crochet, par exemple
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'
);
}
Mais je viens de lire ce tutoriel qui fait ce qui suit en utilisant le admin_init
crochet, comme ça ...
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'
);
}
C'est la première fois que je le vois en utilisant le admin_init
crochet.
Question
Cette dernière méthode ( en utilisant admin_init
) fait le travail , mais ...
- est-ce la méthode préférée ? (c'est-à-dire plus optimisé?)
- juste une manière différente d'obtenir les mêmes résultats, ou
- une mauvaise façon d'ajouter des méta-boîtes? (si oui, pourquoi?)
custom-post-types
metabox
admin-menu
dormeur
la source
la source
add_meta_boxes
préférable.add_meta_boxes
. Nous avons même"add_meta_boxes_$post_type"
pour un contrôle plus fin.Réponses:
Jetez un œil à cette liste: http://codex.wordpress.org/Plugin_API/Action_Reference
add_meta_boxes
préférable. Un jour, WordPress pourrait changer quelque chose et en utilisant les crochets les plus appropriés, vous augmentez vos chances que votre code fonctionne toujours à l'avenir.add_theme_support()
qui est généralement utilisé avec leafter_setup_theme
hook d'action uniquement pour les utilisateurs connectés qui sont administrateurs, mais ce hook ne vous permet pas encore d'accéder à ces informations. Vous devrez donc probablement utiliserset_current_user
ouinit
actionner des crochets à la place (après avoir fait des recherches si vous pouvez le faire en toute sécurité).la source
Il existe plusieurs autres crochets:
et immédiatement après:
Si vous souhaitez effectuer différentes vérifications d'abandon à partir du crochet / rappel qui enregistre réellement les métadonnées, utilisez l'une des options ci-dessus car l'
\WP_Screen
objet n'est pas rempli dès lesadmin_init
exécutions.Si vous avez utilisé le
add_meta_boxes
hook plus générique , vous pouvez vérifier son premier argument:Si vous ne souhaitez pas ajouter votre méta-boîte tant que le message n'a pas été enregistré au moins une fois, vous pouvez cocher
etc. Conclusion: Si vous souhaitez affiner les choses, utilisez les crochets illustrés ci-dessus.
la source