在wordpress中反转菜单顺序


Reverse menu order in wordpress

有一个很快的问题,我认为很简单,但由于时间太晚了,我似乎无法解决…

我有一个wordpress菜单浮动在右边。要更正顺序,我需要反向显示菜单。我用这个函数来做这件事,并把它放在标题中调用菜单之前:

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

由于我只想反转一个菜单,我需要在菜单后面放一个remove_filter。。。却弄不明白。。。或者add_filter函数一开始可能是错误的。

有什么想法吗?提前感谢!

WordPress的插件API不提供对匿名函数或闭包的简单访问。

使用常规函数作为回调:

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

切勿使用create_function()。它很慢,很难调试,而且它不能很好地与操作码配合使用。