Menu dla pluginu w wordpress

Na początek należy stworzyć plik,n p. pika-menu.php (wraz z tym możemy stworzyć folder o nazwie inc, w którym umieścimy plik menu).
Od razu możemy dodać ten plik do pliku głównego pluginu (pika-first-plugin.php)

require_once PIKA_FIRST_PLUGIN_PATH.'inc/pika-menu.php';

Podstawowa zawartość pliku pika-menu.php tworząca menu w admin
Aby dodać jedną z ikon wordpress wstaw jej nazwę w pole gdzie komentarz mówi: ikona menu 😉 Ikony znajdziesz tutaj: https://developer.wordpress.org/resource/dashicons/#smiley Pole zostawione puste ” załaduje ikonę domyślną.

<?php

function pika_first_plugin_admin_menu(){
    add_menu_page(
        __('Pika first plugin','pika-first-plugin'),
        'Pika First Plugin', //wyświetlana nazwa
        'manage_options',
        'custom-menu',
        'pika_first_plugin_admin_menu_temp_callback', // funkcja z template
        'dashicons-smiley', //ikona menu
        10
    );
}
add_action('admin_menu', 'pika_first_plugin_admin_menu');

// Wyświetlanie zawartości menu
function pika_first_plugin_admin_menu_temp_callback(){
    ?>
    <h2>Pika First Plugin menu template</h2>
    <?php
}

Tworzenie submenu w admin menu wordpress

Możemy też dodać link do już istniejącego menu, np. Narzędzia (tools) lub Ustawienia (Settings)

Aby wstawić submenu do Ustawień zmień ‘tools.php’ na ‘options-general.php’

<?php

function pika_first_plugin_admin_tools_submenu(){
    add_submenu_page(
        'tools.php', 
        __('Pika in tools','pika-first-plugin'),
        __('Pika in Tools','pika-first-plugin'), //wyświetlana nazwa
        'manage_options',
        'custom-tool-link',
        'pika_first_plugin_admin_tool_menu_temp_callback' // funkcja z template
    );
}
add_action('admin_menu', 'pika_first_plugin_admin_tools_submenu');

// Wyświetlanie zawartości menu
function pika_first_plugin_admin_tool_menu_temp_callback(){
    ?>
    <h2>Pika First Plugin tool menu template</h2>
    <?php
}

Aby dodać linki do innych sekcji menu (Komentarze, Pluginy, Motywy, itd) umieść kursor nad tym menu, a pokaże się link w dolnej belce. Na końcu linku wskazany jest plik php, który należy podstawić w funkcji tworzącej menu.

Link w belce górnej admina

function pika_first_plugin_admin_toolbar_link($link){
    $link->add_menu(array(
        'id'=> 'pika-link',
        'title'=> 'PIKADEMIA',
        'href'=>'https://www.pikademia.pl/',
        'meta'=>array(
            'title'=>"pika title"
        )
        ));
}

add_action('admin_bar_menu', 'pika_first_plugin_admin_toolbar_link', 100);

Teraz stworzymy sublinki w belce górnej

<?php
function pika_first_plugin_admin_toolbar_link($link){
    $link->add_menu(array(
        'id'=> 'pika-links',
        'title'=> 'PIKA LINKS',
        'href'=>'#',
        'meta'=>array(
            'title'=>"pika title"
        )
    ));
// create sublinks
    $link->add_menu(array(
        'id'=> 'pika-sublink1',
        'parent'=>'pika-links',
        'title'=> 'PIKADEMIA',
        'href'=>'https://www.pikademia.pl/',
        'meta'=>array(
            'title'=>'pika title',
            'target'=>'_blank',
            'class'=>'my_custom_class'
        )
    ));
}

add_action('admin_bar_menu', 'pika_first_plugin_admin_toolbar_link', 100);
Scroll to Top