J'appelle actuellement les menus avec un code de base wp_nav_menu:
<?php wp_nav_menu( array('theme_location' => 'primary') ); ?>
J'essaie de trouver le moyen le plus simple d'ajouter itemprop="url"
aux éléments de ligne aux fins du balisage Schema.org. Cependant, tous les codes que j'ai trouvés semblent trop complexes. Toute aide est grandement appréciée. Existe-t-il un moyen de simplement affecter les éléments de ligne sans affecter les autres menus?
Pour ajouter des attributs aux éléments li du menu, vous devez écrire votre propre programme personnalisé qui étend la classe par défaut Walker_Nav_Menu (qui est elle-même une extension de la classe Walker). Pour plus d'informations: https://codex.wordpress.org/Class_Reference/Walker
Mais comme itemprop = "url" devrait normalement être ajouté aux éléments d'ancrage, vous pouvez utiliser le filtre nav_menu_link_attributes .
Par exemple, conformément à la documentation WP, l'ajout de cela à votre functions.php ajoutera l'attribut itemprop = "url" à vos éléments d'ancrage dans les éléments d'élément de liste de votre menu:
function add_menu_atts( $atts, $item, $args ) {
$atts['itemprop'] = 'url';
return $atts;
}
add_filter( 'nav_menu_link_attributes', 'add_menu_atts', 10, 3 );