Inverser l’ordre des menus dans wordpress
J’ai une question très rapide, et je présume simple, mais comme il est tard dans la journée, je n’arrive pas à la résoudre…
J’ai un menu wordpress flottant vers la droite. Pour corriger l’ordre, j’ai besoin d’afficher le menu à l’envers. J’utilise cette fonction pour ce faire, et je la place juste avant que le menu ne soit appelé dans l’en-tête :
<?php add_filter( 'wp_nav_menu_objects', create_function( '$menu', 'return array_reverse( $menu );' ) ); ?>
Comme je ne veux inverser qu’un seul menu, je dois mettre un remove_filter après le menu… et je n’arrive pas à le comprendre… ou peut-être que la fonction add_filter est erronée en premier lieu.
Des idées? Merci d’avance!
Solution n°1 trouvée
L’API du plugin WordPress n’offre pas un accès simple aux fonctions ou fermetures anonymes.
Utilisez plutôt une fonction normale comme rappel :
add_filter( 'wp_nav_menu_objects', 'reverse_menu' );
function reverse_menu( $menu ) {
remove_filter( current_filter(), __FUNCTION__ );
return array_reverse( $menu );
}
Ne jamais utiliser create_function()
. Il est lent, difficile à déboguer et ne fonctionne pas bien avec les opcaches.
0 commentaire