2013-11-19 3 views
1

Есть очень быстрый вопрос, и я полагаю, просто, но так как его в конце дня, я не могу решить ...Обратный порядок меню в WordPress

У меня есть меню WordPress плавал на правильно. Чтобы исправить порядок, мне нужно отобразить меню в обратном порядке. Я использую эту функцию, чтобы сделать это, и поместить его непосредственно перед меню вызывается в заголовке:

<?php add_filter('wp_nav_menu_objects', create_function('$menu', 'return array_reverse($menu);')); ?> 

Как я только хочу обратить одно меню, мне нужно поставить remove_filter после меню ... и не может понять это ... или, может быть, функция add_filter ошибочна в первую очередь.

Любые идеи? Спасибо!

+0

Почему бы не использовать аргумент 'order' при отображении вашего меню? – Joren

+0

Fro, что я читал, порядок обратного меню кажется более логичным? – Miro

ответ

1

API-интерфейс плагина WordPress не имеет простого доступа к анонимным функциям или закрытию.

Используйте регулярную функцию обратного вызова вместо:

add_filter('wp_nav_menu_objects', 'reverse_menu'); 

function reverse_menu($menu) { 
    remove_filter(current_filter(), __FUNCTION__); 
    return array_reverse($menu); 
} 

Никогда не используйте create_function(). Он медленный, трудно отлаживаемый, и он не работает с opcaches.

+0

Отлично, спасибо за совет. – Miro

Смежные вопросы