Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/02/2013, 11:38
Avatar de rogertm
rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Respuesta: Como agregar íconos a los menúes en WordPress

Pues por suerte la tenía aquí a mano...

Código PHP:
Ver original
  1. <?php
  2. /**
  3.  * Custom Footer Menu
  4.  */
  5. function footer_nav_menu() {
  6. global $current_page_class, $link_id, $current_page;
  7. $menu_name = 'secondary';
  8. if ( ( $locations = get_nav_menu_locations() ) && isset ( $locations[ $menu_name ] ) ) :
  9.     $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
  10.     $menu_items = wp_get_nav_menu_items( $menu->term_id );
  11.    
  12.     $menu_list = '<div id="access-footer" class="menu-footer">';
  13.     $menu_list .= '<ul id="menu-footer-navigation" class="menu">';
  14.     foreach ( $menu_items as $menu_item ) :
  15.         $item_title = $menu_item->title;
  16.         $item_url = $menu_item->url;
  17.         $item_id = $menu_item->ID;
  18.         $link_id = $menu_item->object_id;
  19.         $menu_page = get_page_by_title( $item_title );
  20.  
  21.         // Current page item
  22.         if ( $current_page->ID == $link_id ) :
  23.             $current_menu_item = $current_page_class;
  24.         else :
  25.             $current_menu_item = '';
  26.         endif;
  27.  
  28.         // We create our own ID for every item
  29.         $menu_page_id = strtolower( str_replace( array( ' ', 'á', 'é', 'í', 'ó', 'ú', 'ñ'), array( '-', 'a', 'e', 'i', 'o', 'u', 'n' ), $menu_page->post_title ) );
  30.         $menu_list .= '<li class="menu-item"><h3 id="footer-item-'. $menu_page_id .'" class="widget-title footer-h-title"><a href="'. $item_url .'" class="'.$current_menu_item.'">'. $item_title .'</a></h3></li>';
  31.     endforeach;
  32.     $menu_list .= '</ul>';
  33.     $menu_list .= '</div>';
  34. ?>
  35. <?php
  36. endif;
  37. return $menu_list;
  38. }
  39. ?>
La función lo que hace es, por ejemplo, a un elemento del menú llamado "Quiénes Somos", le agrega el elemento id="footer-item-quienes-somos". Claro, que con el cliente habíamos acordado los elementos del menú y no habría cambios, pero en caso de haberlos, era cuestión de crear el ícono y agregarlo al css.

En esta función hay unas variables globales que creo que eran para mostrar una clase determinada en el elemento del menú, en dependencia de qué lugar del sitio se encontraba, pero ya eso es harina de otro costal...

Saludos, espero te funcione...

EDITO: La variable $menu_name guarda el valor del menú al que le aplicas esta función
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose