मुझे व्यवस्थापक में वर्तमान संपादन पृष्ठ आईडी कैसे मिलेगा?


11

अधिकांश समाधान जो मैंने पाया, वे फ्रंट-एंड उपयोग के लिए हैं। यह एक प्लगइन के लिए है, इसलिए सभी गतिविधि बैक-एंड में है।

मुझे उस पृष्ठ आईडी को कैसे प्राप्त करना चाहिए जिसका उपयोग वर्तमान में व्यवस्थापक में किया जा रहा है (संपादित)?

नोट मैं लूप से बाहर हूं। मुझे केवल पृष्ठ की आईडी (पोस्ट नहीं) प्राप्त करने की आवश्यकता है जो मैं वर्तमान में बैक-एंड में देख रहा हूं।


आप इसे URLwp-admin/post.php?post=14&action=edit
Bindiya Patoliya

4
मैं URL को अंतिम शॉट के रूप में देखता हूं। मुझे आशा है कि ऐसा करने के लिए और अधिक सुरुचिपूर्ण तरीका है।
डैनियल

जवाबों:


20

आप भी उपयोग कर सकते हैं

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

मुझे पृष्ठों की आवश्यकता है।
डैनियल

यह पृष्ठों के लिए भी काम करता है।
व्येक

2
किस global $my_admin_page;लिए है
ओमर

2

आप इस कोड को 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');

?>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.