Come cambiare l'icona predefinita di un plugin personalizzato?

2 feb 2013, 12:54:34
Visualizzazioni: 27.7K
Voti: 6

Ho creato un plugin personalizzato per SONDAGGI. Quando lo attivo, appare un'icona predefinita nella barra laterale. Voglio cambiare questa icona predefinita. Ecco il codice che ho scritto nel file init.php.

add_action('admin_menu', 'mt_add_pages');

// funzione di azione per l'hook sopra
function mt_add_pages() {

    // Aggiunge un nuovo menu di primo livello (sconsigliato):
    add_menu_page(__('Poll','menu-test'), __('Poll','menu-test'), 'manage_options', 'manage-polls', 'poll_page' );

    // Aggiunge un sottomenu al menu personalizzato di primo livello:
    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() mostra il contenuto della pagina per il menu personalizzato 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() mostra il contenuto della pagina per il primo sottomenu
// del menu personalizzato 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';
}

Ho cercato ma non trovo risultati per temi personalizzati. :( quindi lo chiedo qui. Grazie in anticipo!!!!!!

1
Tutte le risposte alla domanda 2
2

add_menu_page() ha il parametro $icon_url. La dimensione dell'icona dovrebbe essere 16x16px.

add_menu_page(
    __( 'Sondaggio', 'example_textdomain' ),
    __( 'Sondaggio', 'example_textdomain' ),
    'manage_options',
    'manage-polls',
    'poll_page',
    plugin_dir_url( __FILE__ ) . 'images/poll_red.png'
);

Vedi parametri di add_menu_page.

2 feb 2013 13:16:13
Commenti

Puoi dirmi cos'è 'menu-test' in questo contesto? Perché voglio cambiare il nome del sottomenu. Quando eseguo il codice sopra, crea due sottomenu sotto SONDAGGI: uno è Sondaggio e l'altro è Aggiungi nuovo sondaggio, ma io voglio Gestisci sondaggi e Aggiungi nuovo sondaggio

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

È il textdomain per la localizzazione. Vedi Come localizzare temi e plugin WordPress. In realtà, ho copiato una parte del tuo codice.

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

Dai un'occhiata da vicino all'hook add_menu_page, fornisce un argomento per specificare l'URL dell'icona

<?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(
    __('Sondaggio','menu-test'), 
    __('Sondaggio','menu-test'), 
    'manage_options', 
    'manage-polls', 
    'poll_page',
    'plugins_folder Or Theme folder url/icon.png' 
);
2 feb 2013 13:11:23
Commenti

Questo è fantastico e tutto, ma una cosa che il codex non mostra è: 1) quale dovrebbe essere la dimensione dell'icona. 2) Come incorporare un SVG che corrisponda alla combinazione di colori (indica solo il tipo di dati ma non specifica esattamente come o l'approccio). 3) Rendere l'icona un attributo :before come tutto il resto.

UXerUIer UXerUIer
27 giu 2019 17:40:04