2012-06-20 5 views

Respuesta

13

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'); 
     } 
    } 
} 
Cuestiones relacionadas