WordPress
add_menu_page ()
खोज…
परिचय
यह कार्य एडमिन पैनल के नेवी बार में एक आइटम जोड़ना है।
वाक्य - विन्यास
- add_menu_page ($ page_title, $ menu_title, $ क्षमता, $ menu_slug, $ function, $ icon_url, $ स्थिति)
पैरामीटर
पैरामीटर | विवरण |
---|---|
$ PAGE_TITLE | (स्ट्रिंग) मेनू के चयनित होने पर पृष्ठ के शीर्षक टैग में प्रदर्शित होने वाला पाठ। |
$ menu_title | (string) मेन्यू के लिए उपयोग किया जाने वाला टेक्स्ट। |
$ क्षमता | (स्ट्रिंग) इस मेनू के उपयोगकर्ता के लिए प्रदर्शित होने के लिए आवश्यक क्षमता। |
$ menu_slug | (स्ट्रिंग) इस मेनू को इस मेनू से संदर्भित करने के लिए स्लग नाम (इस मेनू के लिए अद्वितीय होना चाहिए)। |
$ समारोह | (callable) (वैकल्पिक) इस पृष्ठ के लिए सामग्री को आउटपुट करने के लिए कहा जाने वाला फ़ंक्शन। |
$ icon_url | (स्ट्रिंग) (वैकल्पिक) इस मेनू के लिए उपयोग किए जाने वाले आइकन का URL। |
$ स्थिति | (int) (वैकल्पिक) मेनू क्रम में स्थिति यह दिखाई देनी चाहिए। |
टिप्पणियों
यहाँ डिफ़ॉल्ट पदों की सूची है ($ स्थिति के लिए)
- 2 - डैशबोर्ड
- 4 - विभाजक
- 5 - पोस्ट
- 10 - मीडिया
- 15 - लिंक
- 20 - पृष्ठ
- 25 - टिप्पणियाँ
- 59 - विभाजक
- 60 - सूरत
- 65 - प्लगइन्स
- 70 - उपयोगकर्ता
- 75 - उपकरण
- 80 - सेटिंग्स
- 99 - विभाजक
"थीम पेज शीर्षक" आइटम को बार बार में जोड़ना
कोड
function add_the_theme_page(){
add_menu_page('Theme page title', 'Theme menu label', 'manage_options', 'theme-options', 'page_content', 'dashicons-book-alt');
}
add_action('admin_menu', 'add_the_theme_page');
function page_content(){
echo '<div class="wrap"><h2>Testing</h2></div>';
}
उत्पादन
व्याख्या
कोड में, हमने add_the_theme_page
नाम से एक फंक्शन बनाया और हमने आइटम को navbar में जोड़ने के लिए add_menu_page
का उपयोग किया। हमारे द्वारा पास किए गए तर्कों के बारे में जानने के लिए कृपया इस पृष्ठ के पैरामीटर भाग की जाँच करें। फिर हमने अपने add_the_theme_page
फ़ंक्शन को चलाने के लिए add_action
का उपयोग किया। अंत में, हमने पृष्ठ में सामग्री प्रदर्शित करने के लिए फ़ंक्शन page_content
बनाया।
OOP और मेनू पेज पर स्क्रिप्ट / स्टाइल लोड करने का तरीका
<?php
/*
* Plugin Name: Custom Admin Menu
*/
class SO_WP_Menu {
private $plugin_url;
public function __construct() {
$this->plugin_url = plugins_url( '/', __FILE__ );
add_action( 'plugins_loaded', array( $this, 'init' ) );
}
public function init() {
add_action( 'admin_menu', array( $this, 'add_menu' ) );
}
public function add_menu() {
$hook = add_menu_page(
'My Menu', // Title, html meta tag
'<span style="color:#e57300;">My Menu</span>', // Menu title, hardcoded style
'edit_pages', // capability
'dummy-page-slug', // URL
array( $this, 'content' ), // output
null, // icon, uses default
1 // position, showing on top of all others
);
add_action( "admin_print_scripts-$hook", array( $this, 'scripts' ) );
add_action( "admin_print_styles-$hook", array( $this, 'styles' ) );
}
public function content() {
?>
<div id="icon-post" class="icon32"></div>
<h2>Dummy Page</h2>
<p> Lorem ipsum</p>
<?php
}
# Printing directly, could be wp_enqueue_script
public function scripts() {
?><script>alert('My page');</script><?php
}
# Enqueing from a CSS file on plugin directory
public function styles() {
wp_enqueue_style( 'my-menu', $this->plugin_url . 'my-menu.css' );
}
}
new SO_WP_Menu();
इस उदाहरण में ध्यान देना महत्वपूर्ण है कि add_menu_page()
का उपयोग करते समय, यह एक हुक देता है जिसका उपयोग हमारे सटीक पृष्ठ को लक्षित करने के लिए किया जा सकता है और वहां शैलियाँ और लिपियों को लोड किया जा सकता है।
लक्ष्यीकरण के बिना एक सामान्य गलती है और यह स्क्रिप्ट और शैलियों को सभी /wp-admin
।
OOP का उपयोग करके हम आंतरिक तरीकों के बीच उपयोग किए जाने वाले सामान्य चर संग्रहित कर सकते हैं।