it-swarm.com.de

Wie füge ich eine neue Pluginseite unter der gewünschten Optionsseite hinzu?

Mit WordPress Settings API Tutorial habe ich ein neues benutzerdefiniertes Menü und entsprechende Untermenüs erstellt. Jedes meiner Menüs hat eine eigene Seite. Ich habe dafür add_menu_page() und add_submenu_page() verwendet. ( Hier ist der vollständige Code )

Admin --------
"Special Admin
"Preisangabe

Jetzt versuche ich, ein Plugin für zusätzliche Zwecke zu erstellen. Ich möchte mein Plugin in das zuvor erstellte benutzerdefinierte Menü integrieren.

Ich habe auf der Seite "Special Admin" ein Kontrollkästchen mit der Aufschrift "Activate Price Quotation" (Preisangebot aktivieren) aktiviert. Wenn der Benutzer das Preisangebot aktiviert, wird das Plugin aktiviert. Das Plugin ist dann auf der Untermenüseite "Preisangebot" verfügbar.

Dort erstelle ich unter der Seite Preisangabe einige Registerkarten mit bestimmten Funktionen.

Ich habe es mit einem einfachen Plugin mit add_plugins_page() versucht:

<?php
/*
 * Plugin Name: Price Quotation
 * Plugin URI: http://www.example.com
 * Author: Mayeenul Islam
 * Author URI: http://www.example.com
 * Version: 1.0.0
 */
?>

<?php

function add_a_menu(){
    add_plugins_page(
        'Price Factor',
        'Price Factor',
        'edit_posts',
        'edit_private_posts',
        'price_factor_callback'
    );
}
add_action('admin_menu', 'add_a_menu');

function price_factor_callback(){
    echo "This is Price Quotation Page";
}

?>

Dieser admin_menu-Filter hat das Menü jedoch standardmäßig unter dem Standardmenü "Plugins" hinzugefügt. Wie kann ich das Menü oder die Menüs aufrufen, für die ich mich entschieden habe?

3
Mayeenul Islam

Verwenden Sie stattdessen add_submenu_page .

 <?php add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function ); ?> 

$parent_slug sollte einer der folgenden sein

For Dashboard: add_submenu_page( 'index.php', ... ); Also see add_dashboard_page()
For Posts: add_submenu_page( 'edit.php', ... ); Also see Also see add_posts_page()
For Media: add_submenu_page( 'upload.php', ... ); Also see add_media_page()
For Links: add_submenu_page( 'link-manager.php', ... ); Also see add_links_page()
For Pages: add_submenu_page( 'edit.php?post_type=page', ... ); Also see add_pages_page()
For Comments: add_submenu_page( 'edit-comments.php', ... ); Also see add_comments_page()
For Custom Post Types: add_submenu_page( 'edit.php?post_type=your_post_type', ... );
For Appearance: add_submenu_page( 'themes.php', ... ); Also see add_theme_page()
For Plugins: add_submenu_page( 'plugins.php', ... ); Also see add_plugins_page()
For Users: add_submenu_page( 'users.php', ... ); Also see add_users_page()
For Tools: add_submenu_page( 'tools.php', ... ); Also see add_management_page()
For Settings: add_submenu_page( 'options-general.php', ... ); Also see add_options_page()

Beispiel:

add_submenu_page( 'tools.php', 'My Custom Submenu Page', 'My Custom Submenu Page', 'manage_options', 'my-custom-submenu-page', 'my_custom_submenu_page_callback' ); 
4
Giri