Geçerli düzenleme sayfası kimliğini yöneticide nasıl edinebilirim?


11

Bulduğum çoğu çözüm ön uç kullanım içindir. Bu bir eklenti içindir, bu nedenle tüm etkinlik arka uçtadır.

Yöneticide şu anda kullanılmakta olan (düzenlenmiş) sayfa kimliğini nasıl edinebilirim?

Not Ben döngü dışındayım. Sadece arka uçta gördüğüm sayfanın kimliğini (yayınları değil) almam gerekiyor.


URL'den alabilirsinizwp-admin/post.php?post=14&action=edit
Bindiya Patoliya

4
URL'yi son çekim olarak görüyorum. Umarım bunu yapmanın daha zarif bir yolu vardır.
Daniel

Yanıtlar:


20

Ayrıca kullanabilirsiniz

$post_id = $_GET['post'];

Veya bir kanca kullanabilirsiniz (muhtemelen daha iyi).

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

add_action( 'admin_notices', 'id_WPSE_114111' );

Bu, tüm yönetici sayfalarında çalışacağından bir koşul eklemeniz gerekecek, get_current_screen();

Örneğin, yalnızca sayfalarda yayınlamak için :

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

Sayfalara ihtiyacım var.
Daniel

Bu sayfalar için de geçerlidir.
Wyck

2
ne global $my_admin_page;için?
Ömer

2

Bu kodu function.php dosyasına ekleyebilirsiniz; posta veya sayfayı düzenlerken yayınlama ayarları kutusunun üzerinde bir meta kutu verir.

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

?>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.