2

バックエンドの管理メニューにカスタム メニューを追加しました。ほとんどの場合サブ ページがありますが、第 3 レベルのページ、つまり「サブ サブ メニュー ページ」を作成することはできますか?

コードのスニペット:

add_action('admin_menu',array(new mmr_menu((isset($_GET['page']) ? $_GET['page'] : "mmr")),'mk_menu'));

class mmr_menu{
    public function mk_menu(){

        add_menu_page('MMR', 'MMR', 'administrator', PLUGIN_PREFIX.'mmr', array(&$this,'get_page'), PLUGIN_DIR.'inc/images/logo.gif');

        add_submenu_page(PLUGIN_PREFIX.'mmr', PLUGIN_PREFIX.'app_and_reg', 'Applications & Registrations', 'administrator', PLUGIN_PREFIX.'app_and_reg', array(&$this,"get_page"));

        // Doesn't work
        add_submenu_page(PLUGIN_PREFIX.'app_and_reg', PLUGIN_PREFIX.'payment_reports', 'Payments', 'administrator', PLUGIN_PREFIX.'payment_reports', array(&$this,"get_page"));
    }
}

PLUGIN_PREFIXPLUGIN_DIRは定義されており、mmr_menu->get_page()含める必要はないと私が考えた public メソッドです。

4

1 に答える 1

4

通常、プラグインの作成者は、第 3 レベルのページのタブを作成します。これらは個別のページとして登録されていませんが、クエリ引数を追加してページを選択し、その方法でさまざまなタブにリンクできます。例:

<?php
function payment_reports() {

    // first, lets print out the tabs ?>
    <ul class="tabs">
         <a href="[sub-page url]&tab=first">Tab 1</a>
         <a href="[sub-page url]&tab=second">Tab 2</a>
         <a href="[sub-page url]&tab=third">Tab 3</a>
    </ul><?php

    switch ($_GET['tab']) {
        case 'second':
            output_first_tab();
            break;
        case 'third':
            output_first_tab();
            break;
        default:
            output_first_tab();
    }


}

?>

そうは言っても、一部のワードプレス フレームワーク (リンク piklist) には、組み込みの第 3 レベルのタブがサポートされています。

于 2013-02-14T18:37:49.790 に答える