Додавання користувацької сторінки адміністратора


12

Я хочу додати сторінку вмісту (файл readme) в адміністратор WordPress, я, здається, не можу знайти, як це зробити в кодексі - чи може хтось вказати мені в правильному напрямку? Це буде буквально просто сторінка з кількома абзацами змісту.

Відповіді:


18

Вам потрібно всього два кроки:

  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.


Просто спробував це і виглядає приголомшливо, але чи є такий спосіб мати це у підменю з мого спеціального типу публікації? на відміну від того, що це меню для себе.
користувач319940

Я спробував "show_in_menu" у власному типі публікації, але в цьому випадку є меню, яке не відображає сторінку та не додає "додати нове" для спеціального типу публікації.
користувач319940

Вирішено! для будь-кого іншого спробуйте add_submenu_page і просто додайте додатковий параметр для батьківського слижа, як зазначено тут: codex.wordpress.org/Function_Reference/add_submenu_page
користувач319940
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.