Este método es fácil:
/**
* Based on http://wordpress.stackexchange.com/a/59999/12615
*/
add_action('admin_head', 'wpse_59652_list_terms_exclusions');
function wpse_59652_list_terms_exclusions()
{
global $current_screen;
if('post' != $current_screen->post_type)
return;
// Do your stuff
}
Otra:
/**
* Based on http://wordpress.stackexchange.com/a/54279/12615
*/
add_action('admin_notices', 'wpse_54258_display_error_message');
function wpse_54258_display_error_message()
{
global $post;
if(!isset($post) || 'page' != $post->post_type)
return;
?>
<div class="error fade">This is a "page" post type</div>
<?php
}
y compleja:
/***
* Conditional enqueue of scripts according to Admin page
* Based on http://wordpress.stackexchange.com/a/9095/12615
*/
add_action('admin_init', 'wpse_9080_admin_init');
function wpse_9080_admin_init()
{
global $pagenow;
global $firephp; // Using FirePHP for debugging - Remove if library not included
if ('edit.php' == $pagenow)
{
if (!isset($_GET['post_type']))
{
$firephp->log('I am the Posts listings page');
}
elseif (isset($_GET['post_type']) && 'page' == $_GET['post_type'])
{
// Will occur only in this screen: /wp-admin/edit.php?post_type=page
$firephp->log('I am the Pages listings page');
}
}
if ('post.php' == $pagenow && isset($_GET['post']))
{
// Will occur only in this kind of screen: /wp-admin/post.php?post=285&action=edit
// and it can be a Post, a Page or a CPT
$post_type = get_post_type($_GET['post']);
$firephp->log($post_type);
if ('post' == $post_type)
{
$firephp->log('I am editing a post');
}
elseif ('page' == $post_type)
{
$firephp->log('I am editing a page');
}
elseif ('movie' == $post_type)
{
$firephp->log('I am editing a custom post type');
}
}
if ('post-new.php' == $pagenow)
{
// Will occur only in this kind of screen: /wp-admin/post-new.php
// or: /wp-admin/post-new.php?post_type=page
if (!isset($_GET['post_type']))
{
$firephp->log('I am creating a new post');
}
elseif (isset($_GET['post_type']) && 'page' == $_GET['post_type'])
{
$firephp->log('I am creating a new page');
}
elseif (isset($_GET['post_type']) && 'movie' == $_GET['post_type'])
{
$firephp->log('I am creating a new custom post type');
}
}
}