Bagaimana cara mendapatkan ID halaman edit saat ini di admin?

11

Sebagian besar solusi yang saya temukan adalah untuk penggunaan front-end. Ini untuk plugin, jadi semua aktivitas ada di back-end.

Bagaimana cara saya mendapatkan ID halaman yang saat ini digunakan (diedit) di admin?

Catatan saya di luar lingkaran. Saya hanya perlu mendapatkan ID halaman (bukan posting) yang saat ini saya lihat di back-end.

Daniel
sumber
Anda bisa mendapatkannya dari URLwp-admin/post.php?post=14&action=edit
Bindiya Patoliya
4
Saya melihat URL sebagai gambar terakhir. Saya harap ada cara yang lebih elegan untuk melakukan itu.
Daniel

Jawaban:

20

Anda juga bisa menggunakan

$post_id = $_GET['post'];

Atau Anda bisa menggunakan pengait (mungkin lebih baik).

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

add_action( 'admin_notices', 'id_WPSE_114111' );

Anda perlu menambahkan syarat karena ini akan berjalan di semua halaman admin, saya sarankan menggunakan get_current_screen();

Misalnya menjalankan hanya pada halaman :

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
sumber
Saya perlu untuk halaman.
Daniel
Ini juga berfungsi untuk halaman.
Wyck
2
apa global $my_admin_page;untuk?
Omer
2

Anda dapat menambahkan kode ini dalam file functions.php dan itu akan memberi Anda kotak meta di atas kotak publikasikan pengaturan saat mengedit posting atau halaman.

 <?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
sumber