Làm cách nào để có được ID trang chỉnh sửa hiện tại trong quản trị viên?


11

Hầu hết các giải pháp tôi tìm thấy là để sử dụng front-end. Đây là một plugin, vì vậy tất cả các hoạt động đều ở phía sau.

Làm cách nào để có được ID trang hiện đang được sử dụng (chỉnh sửa) trong quản trị viên?

Lưu ý tôi ra khỏi vòng lặp. Tôi chỉ cần lấy ID của trang (không phải bài đăng) mà tôi hiện đang thấy ở phần cuối.


Bạn có thể lấy nó từ URLwp-admin/post.php?post=14&action=edit
Bindiya Patoliya

4
Tôi thấy URL là lần bắn cuối cùng. Tôi hy vọng có nhiều cách thanh lịch để làm điều đó.
Daniel

Câu trả lời:


19

Bạn cũng có thể dùng

$post_id = $_GET['post'];

Hoặc bạn có thể sử dụng một cái móc (có thể tốt hơn).

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

add_action( 'admin_notices', 'id_WPSE_114111' );

Bạn sẽ cần thêm một điều kiện vì điều này sẽ chạy trên tất cả các trang quản trị, tôi khuyên bạn nên sử dụng get_current_screen();

Ví dụ: chỉ chạy trên các trang :

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' );

Tôi cần cho các trang.
Daniel

Điều này cũng hoạt động cho các trang.
Wyck

2
những gì là global $my_admin_page;gì?
Omer

2

Bạn có thể thêm mã này vào tệp tin.php. Nó sẽ cung cấp cho bạn một hộp meta phía trên hộp cài đặt xuất bản khi chỉnh sửa bài đăng hoặc trang.

 <?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');

?>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.