J'utilise avec succès get_current_screen (); pour obtenir le post_type afin de décider de manipuler ou non une méta-boîte.
J'ai aussi besoin de l'utiliser dans:
add_action('admin_menu', 'infographicMetaBox');
function infographicMetaBox() {
// ...
$screen = get_current_screen();
if('post' != $screen->post_type)
return;
// ...
}
cependant, il ne semble pas être disponible dans cette fonction de hook (peut-être être appelé trop tôt?).
Je ne sais pas exactement ce que vous essayez d'accomplir, mais vous semblez avoir affaire à des boîtes à méta. Si tel est le cas, il existe un certain nombre de crochets spécifiques à la boîte à méta.
do_action('add_meta_boxes', $post_type, $post); do_action('add_meta_boxes_' . $post_type, $post); do_action('do_meta_boxes', $post_type, 'normal', $post); do_action('do_meta_boxes', $post_type, 'advanced', $post); do_action('do_meta_boxes', $post_type, 'side', $post);
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/edit-form-advanced.php#L165
Ainsi que les crochets admin_head*
do_action("admin_head-$hook_suffix"); do_action('admin_head');
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/admin-header.php#L68
Tous ceux exécutés après global $current_screen
sont définis ici: http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/admin-header.php#L18
Oui, c'est trop tôt. Consultez http://codex.wordpress.org/Function_Reference/get_current_screen pour des exemples d’utilisation.