Agregar atributos personalizados a los elementos del menú sin el complemento

2

Estoy tratando de descubrir la mejor manera de agregar atributos de menú personalizados sin usar un complemento. Tengo un sitio que utiliza un tema personalizado y necesito asegurarme de que esto esté configurado en la activación del tema y que también necesite configurar un complemento.

¿Hay alguna función que pueda conectar para esto?

    
pregunta Jake Lisby 25.05.2013 - 18:12

2 respuestas

6

Filtro nav_menu_link_attributes :

add_filter( 'nav_menu_link_attributes', 'wpse_100726_extra_atts', 10, 3 );

function wpse_100726_extra_atts( $atts, $item, $args )
{
    // inspect $item, then …
    $atts['custom'] = 'some value';
    return $atts;
}

Esto funciona con WordPress < 3.6:

add_filter( 'walker_nav_menu_start_el', function( $item ) {

    $parts = explode( '>', $item );
    $out   = array ();

    foreach ( $parts as $i => $part )
    {
        if ( 0 === strpos( $part, '<a ' ) ) // a start
            $out[ $i ] = $part . ' data-foo="bar"';
        else
            $out[ $i ] = $part;
    }

    return join( '>', $out );
});
    
respondido por el fuxia 25.05.2013 - 18:20
0

es un buen trabajo. Pero quiero un poquito más de más, intentando pero aún no puedo entender cómo.

add_filter( 'nav_menu_link_attributes', 'wpse_100726_extra_atts', 10, 3 );

function wpse_100726_extra_atts( $atts, $item, $args )
{
    // inspect $item, then …
    $atts['data-hover'] = 'some value';
    return $atts;
}

quiero un cambio de valor al nombre de los elementos del menú. ex data-hover="contáctenos"

    
respondido por el pagol 06.02.2017 - 18:37

Lea otras preguntas en las etiquetas