¿Cómo cambiar el ícono predeterminado de un plugin personalizado?
He creado un plugin personalizado para ENCUESTAS. Cuando lo activo, aparece un ícono predeterminado en la barra lateral. Quiero cambiar este ícono predeterminado. Aquí está mi código que escribí en el archivo init.php.
add_action('admin_menu', 'mt_add_pages');
// función de acción para el hook anterior
function mt_add_pages() {
// Agregar un nuevo menú de nivel superior (no recomendado):
add_menu_page(__('Encuestas','menu-test'), __('Encuestas','menu-test'), 'manage_options', 'manage-polls', 'poll_page' );
// Agregar un submenú al menú personalizado de nivel superior:
add_submenu_page('manage-polls', __('Agregar Nueva Encuesta','menu-test'), __('Agregar Nueva Encuesta','menu-test'), 'manage_options', 'add-poll', 'add_new_poll_page');
}
// mt_toplevel_page() muestra el contenido de la página para el menú personalizado de nivel superior
function poll_page() {
if (!current_user_can('manage_options'))
{
wp_die( __('No tienes suficientes permisos para acceder a esta página.') );
}
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>" . __( 'Administrar Encuestas', 'menu-test' ) . "</h2>";
include_once 'manage-polls.php';
}
// mt_sublevel_page() muestra el contenido de la página para el primer submenú
// del menú personalizado de nivel superior
function add_new_poll_page() {
if (!current_user_can('manage_options'))
{
wp_die( __('No tienes suficientes permisos para acceder a esta página.') );
}
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';
}
Busqué pero no encuentro resultados para temas personalizados. :( por eso pregunto aquí. ¡¡¡¡¡Gracias de antemano!!!!!
add_menu_page()
tiene el parámetro $icon_url
. El tamaño del icono debe ser de 16x16 píxeles.
add_menu_page(
__( 'Encuesta', 'example_textdomain' ),
__( 'Encuesta', 'example_textdomain' ),
'manage_options',
'manage-polls',
'poll_page',
plugin_dir_url( __FILE__ ) . 'images/poll_red.png'
);

¿Puedes decirme qué es 'menu-test' en esto? Porque quiero cambiar el nombre del submenú. Cuando ejecuto el código anterior, se crean dos submenús bajo POLL, uno es Poll y otro es Add New Poll, pero quiero que diga Manage Polls y Add New Poll

Es el textdomain para localización. Mira Cómo localizar temas y plugins de WordPress. De hecho, he copiado una parte de tu código.

Echa un vistazo detenidamente al hook add_menu_page, proporciona un argumento para suministrar la URL del icono
<?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(
__('Encuesta','menu-test'),
__('Encuesta','menu-test'),
'manage_options',
'manage-polls',
'poll_page',
'plugins_folder Or Theme folder url/icon.png'
);

Esto es genial y todo, pero hay algo que el codex no muestra: 1) cuál debería ser el tamaño del icono. 2) Cómo incorporar un SVG que coincida con el esquema de colores (solo menciona el tipo de datos pero no especifica exactamente cómo o el enfoque). 3) Hacer que el icono sea un atributo :before como todo lo demás.
