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);
Ask ChatGPT
Set ChatGPT API key
Find your Secret API key in your ChatGPT User settings and paste it here to connect ChatGPT with your Tutor LMS website.
Scroll to Top