Cum se schimbă iconița implicită a unui plugin personalizat?

2 feb. 2013, 12:54:34
Vizualizări: 27.7K
Voturi: 6

Am creat un plugin personalizat pentru SONDAJE. Când îl activez, apare o iconiță implicită în sidebar. Vreau să schimb această iconiță implicită. Iată codul meu din fișierul init.php.

add_action('admin_menu', 'mt_add_pages');

// funcția de acțiune pentru hook-ul de mai sus
function mt_add_pages() {

    // Adaugă un nou meniu de nivel superior (nu este recomandat):
    add_menu_page(__('Poll','menu-test'), __('Poll','menu-test'), 'manage_options', 'manage-polls', 'poll_page' );

    // Adaugă un submeniu la meniul personalizat de nivel superior:
    add_submenu_page('manage-polls', __('Add New Poll','menu-test'), __('Add New Poll','menu-test'), 'manage_options', 'add-poll', 'add_new_poll_page');
}

// mt_toplevel_page() afișează conținutul paginii pentru meniul personalizat Test Toplevel
function poll_page() {
    if (!current_user_can('manage_options'))
    {
      wp_die( __('You do not have sufficient permissions to access this page.') );
    }
    echo "<br/>";
    echo "<div>";
    echo '<div style="float:left;"><img width="20" height = "20" src="'.site_url().'/wp-content/plugins/poll/images/poll_red.png" /></div>';
    echo "</div>";
    echo "<h2>" . __( 'Manage Polls', 'menu-test' ) . "</h2>";

    include_once 'manage-polls.php';
}

// mt_sublevel_page() afișează conținutul paginii pentru primul submeniu 
// al meniului personalizat Test Toplevel
function add_new_poll_page() {
    if (!current_user_can('manage_options'))
    {
      wp_die( __('You do not have sufficient permissions to access this page.') );
    }
    echo "<br/>";
    echo "<div>";
    echo '<div style="float:left;"><img width="20" height = "20" src="'.site_url().'/wp-content/plugins/poll/images/poll_red.png" /></div>';
    echo "</div>";
    include_once 'poll_form.php';
}

Am căutat soluții dar nu am găsit rezultate pentru tema personalizată. :( așa că întreb aici. Mulțumesc anticipat!!!!!!

1
Toate răspunsurile la întrebare 2
2

add_menu_page() are parametrul $icon_url. Dimensiunea pictogramei ar trebui să fie 16x16px.

add_menu_page(
    __( 'Sondaj', 'example_textdomain' ), // Titlul paginii
    __( 'Sondaj', 'example_textdomain' ), // Textul din meniu
    'manage_options', // Capabilitate necesară
    'manage-polls',   // Slug-ul paginii
    'poll_page',      // Funcția de callback
    plugin_dir_url( __FILE__ ) . 'images/poll_red.png' // URL-ul pictogramei
);

Vezi parametrii add_menu_page.

2 feb. 2013 13:16:13
Comentarii

poți să-mi spui ce este 'menu-test' în aceasta. Pentru că vreau să schimb numele submeniului. Când rulez codul de mai sus, acesta creează două submeniuri sub POLL - unul este Poll și altul este Add New Poll, dar eu vreau Manage Polls și Add New Poll

Bhuvnesh Gupta Bhuvnesh Gupta
2 feb. 2013 13:30:13

Este textdomain pentru localizare. Vezi Cum să localizezi teme și plugin-uri WordPress. De fapt, am copiat o parte din codul tău.

Max Yudin Max Yudin
2 feb. 2013 13:34:36
1

Privește atent la hook-ul add_menu_page, acesta oferă un argument pentru a furniza URL-ul unei icoane

<?php 
add_menu_page( 
    $page_title, 
    $menu_title, 
    $capability, 
    $menu_slug, 
    $function, 
    $icon_url, 
    $position 
); 

http://codex.wordpress.org/Function_Reference/add_menu_page

add_menu_page(
    __('Sondaj','menu-test'), 
    __('Sondaj','menu-test'), 
    'manage_options', 
    'manage-polls', 
    'poll_page',
    'plugins_folder sau Theme folder url/icon.png' 
);
2 feb. 2013 13:11:23
Comentarii

Acest lucru este minunat și totul, dar un lucru pe care codex-ul nu reușește să-l arate este: 1) care ar trebui să fie dimensiunea pictogramei. 2) Cum încorporați un SVG care se va potrivi cu schema de culori (doar menționează tipul de date, dar nu specifică exact cum sau abordarea). 3) Cum să faci pictograma un atribut :before ca orice altceva.

UXerUIer UXerUIer
27 iun. 2019 17:40:04