Comment puis-je obtenir l'ID de la page de modification actuelle dans l'administrateur?

11

La plupart des solutions que j'ai trouvées sont destinées à une utilisation frontale. C'est pour un plugin, donc toute l'activité est dans le back-end.

Comment puis-je obtenir l'ID de page actuellement utilisé (modifié) dans l'administrateur?

Notez que je suis hors de la boucle. J'ai juste besoin d'obtenir l'ID de la page (pas les messages) que je vois actuellement dans le back-end.

Daniel
la source
Vous pouvez l'obtenir à partir de l'URLwp-admin/post.php?post=14&action=edit
Bindiya Patoliya
4
Je vois l'URL comme une dernière photo. J'espère qu'il y a une façon plus élégante de le faire.
Daniel

Réponses:

20

Vous pouvez aussi utiliser

$post_id = $_GET['post'];

Ou vous pouvez utiliser un crochet (probablement mieux).

function id_WPSE_114111() {
    global $post;
    $id = $post->ID;
    // do something
}

add_action( 'admin_notices', 'id_WPSE_114111' );

Vous devrez ajouter un conditionnel car cela fonctionnera sur toutes les pages d'administration, je recommande d'utiliser get_current_screen();

Par exemple, pour exécuter uniquement sur les pages :

function id_WPSE_114111() {

    global $my_admin_page;
    $screen = get_current_screen();

    if ( is_admin() && ($screen->id == 'page') ) {
        global $post;
        $id = $post->ID;
        var_dump($id);
    }
}

add_action( 'admin_notices', 'id_WPSE_114111' );
Wyck
la source
J'ai besoin de pages.
Daniel
Cela fonctionne également pour les pages.
Wyck
2
à quoi ça sert global $my_admin_page;?
Omer
2

Vous pouvez ajouter ce code dans le fichier functions.php et il vous donnera une méta-boîte au-dessus de la boîte des paramètres de publication lors de la modification d'un article ou d'une page.

 <?php

function cf_post_id() {
    global $post;

   // Get the data
   $id = $post->ID;

   // Echo out the field
   echo '<input type="text" name="_id" value="' . $id . '" class="widefat" disabled />';
  }

 function ve_custom_meta_boxes() {
    add_meta_box('projects_refid', 'Post ID', 'cf_post_id', 'post', 'side', 'high');
    add_meta_box('projects_refid', 'Page ID', 'cf_post_id', 'page', 'side', 'high');
   }
   add_action('add_meta_boxes', 've_custom_meta_boxes');

?>
Bindiya Patoliya
la source