web-dev-qa-db-ja.com

希望のオプションページの下に新しいプラグインページを追加するにはどうすればいいですか?

WordPress設定APIチュートリアルの使用 新しいカスタムメニューとそれに対応するサブメニューを作成しました。私のメニューにはそれぞれ独自のページがあります。私はadd_menu_page()add_submenu_page()を使いました。 ( これは完全なコードです

管理者--------
"特別管理者
"見積価格

今、私はいくつかの追加の目的のためにプラグインを作ろうとしています。私が以前作成したカスタムメニューと私のプラグインを統合したいです。

[特別管理者]ページに[見積価格の有効化]というチェックボックスを配置しました。ユーザーが価格見積を有効にすると、プラグインが実行されます。それからプラグインは "Price Quotation"サブメニューページで利用可能になるでしょう。

そこに私はいくつかの特定の機能を持つ価格見積もりページの下にいくつかのタブ付きページを作成します。

私はadd_plugins_page()と基本的なプラグインを試してみました:

<?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";
}

?>

しかし、このadmin_menuフィルタはデフォルトでデフォルトの "Plugins"メニューの下にメニューを追加しました。自分が決めたメニューをどのようにして呼び出すことができますか。

3
Mayeenul Islam

代わりに add_submenu_page を使用してください。

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

$parent_slugは次のいずれかになります。

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()

例:

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