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);