Comment déterminer si nous sommes en add Nouvelle page / post / CPT ou en édition page / post / CPT dans wordpress admin?

14

Cela semble simple, mais il me faut un moyen de déterminer si l'écran actuel est pour Ajouter un nouveau ou Modifier (une sorte de balise conditionnelle admin Wordpress). Existe-t-il déjà une fonction intégrée pour cela, ou ... aucune idée de la manière de le réaliser?

    
posée Dipesh Kc 24.04.2012 - 07:38

1 réponse

26

voici une fonction que j'ai:

/**
 * is_edit_page 
 * function to check if the current page is a post edit page
 * 
 * @author Ohad Raz <[email protected]>
 * 
 * @param  string  $new_edit what page to check for accepts new - new post page ,edit - edit post page, null for either
 * @return boolean
 */
function is_edit_page($new_edit = null){
    global $pagenow;
    //make sure we are on the backend
    if (!is_admin()) return false;


    if($new_edit == "edit")
        return in_array( $pagenow, array( 'post.php',  ) );
    elseif($new_edit == "new") //check for new post page
        return in_array( $pagenow, array( 'post-new.php' ) );
    else //check for either new or edit
        return in_array( $pagenow, array( 'post.php', 'post-new.php' ) );
}

Utilisation l'utilisation est simple, comme toute autre balise conditionnelle, quelques exemples:

recherchez une nouvelle page ou une page modifiée:

if (is_edit_page()){
   //yes its an edit/new post page
}

rechercher une nouvelle page de publication:

if (is_edit_page('new')){
   //yes its an new post page
}

vérifier la page de publication:

if (is_edit_page('edit')){
   //yes its an new post page
}

combinez cela avec un $typenow global pour rechercher une page d'édition de type d'article spécifique:

global $typenow;
if (is_edit_page('edit') && "Post_Type_Name" == $typenow){
   //yes its an edit page  of a custom post type named Post_Type_Name
}
    
réponse donnée Bainternet 24.04.2012 - 08:19

Lire d'autres questions sur les étiquettes