Как получить текущий идентификатор страницы редактирования в администраторе?

Большинство решений, которые я нашел, предназначены для использования в интерфейсе. Это для плагина, поэтому вся деятельность находится в фоновом режиме.

Как получить идентификатор страницы, который в настоящее время используется (редактируется) администратором?

Заметьте, я вышел из цикла. Мне просто нужно получить идентификатор страницы (не сообщений), которую я сейчас вижу в фоновом режиме.

Вы также можете использовать

 $post_id = $_GET['post']; 

Или вы можете использовать крючок (возможно, лучше).

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

Вам нужно будет добавить условие, так как это будет работать на всех страницах администратора, я рекомендую использовать get_current_screen();

Например, для запуска только на страницах :

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

Вы можете добавить этот код в файл functions.php, и при редактировании сообщения или страницы он предоставит вам мета-поле над полем публикации.

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