web-dev-qa-db-ja.com

カスタム管理ページを追加する

WordPressの管理者に1ページのコンテンツ(readmeファイル)を追加したいのですが、コーデックスでこれを実行する方法を見つけることができないようです。それは文字通りちょうどコンテンツのいくつかの段落を持つ単純なページになります。

10
user319940

あなたはたった2つのステップを必要とします:

  1. アクションadmin_menuにフックして、ページをコールバック関数で登録してコンテンツを印刷します。
  2. コールバック関数で、plugin_dir_path( __FILE__ ) . "included.html"からファイルをロードします。

デモコード:

add_action( 'admin_menu', 'wpse_91693_register' );

function wpse_91693_register()
{
    add_menu_page(
        'Include Text',     // page title
        'Include Text',     // menu title
        'manage_options',   // capability
        'include-text',     // menu slug
        'wpse_91693_render' // callback function
    );
}
function wpse_91693_render()
{
    global $title;

    print '<div class="wrap">';
    print "<h1>$title</h1>";

    $file = plugin_dir_path( __FILE__ ) . "included.html";

    if ( file_exists( $file ) )
        require $file;

    print "<p class='description'>Included from <code>$file</code></p>";

    print '</div>';
}

デモメニュー T5 Admin Menu Demo にサブメニューとOOPスタイルでこれを行う方法を示す例を追加しました。

14
fuxia