如何在WPML输出之前向菜单添加链接?

问题描述 投票:1回答:1

我想以编程方式向菜单添加链接。这是我的代码的简化版本,可以工作,但是WPML在最后位置添加了其语言选择器。如何在WPML输出之前添加链接?$items只是带有所有HTML的字符串

add_filter( 'wp_nav_menu_items', 'add_search_to_nav', 1, 2 );
function add_search_to_nav( $items, $args ) {

    $items .= '<li><a href="#">Something</a></li>';
    return $items;

}
wordpress wpml
1个回答
0
投票

使用如下样式:

add_filter( 'wp_nav_menu_items', 'add_search_to_nav', 10, 2 );
function add_search_to_nav( $items, $args ) {
    $items_array = array();
    while ( false !== ( $item_pos = strpos ( $items, '<li', 3 ) ) ) {
        $items_array[] = substr($items, 0, $item_pos);
        $items = substr($items, $item_pos);
    }
    $items_array[] = $items;
    $new_item = '<li><a href="#">Something</a></li>';

    array_splice($items_array, $args->menu->count, 0, $new_item); 

    $items = implode('', $items_array);

    return $items;
}

这里$args->menu->count提供不带WPML语言切换器的菜单项的计数。

© www.soinside.com 2019 - 2024. All rights reserved.