[WordPress] ワードプレスの特定の位置にカスタム メニューを追加する方法

スポンサーリンク

質問

私のプライマリ メニューにカスタム メニューを追加したい、これは、これは、コード以下を使用している

add_filter( 'wp_nav_menu_items', 'search_menu_item', 10, 2 );
function search_menu_item ( $items, $args ) {
if ($args->theme_location == 'secondary-menu') {
$items .= '<li class="border-none">SEARCH<form><input type="text" name="s" placeholder="Search Here" class="search-box"></form>';
}
return $items;
}

メニューが最後のメニューとして表示されているが、3 位に私のメニューを追加したいです。どのように私はこれを行う

誰もが助けることができる?

おかげで

答え

必要がありますではなく wp_nav_menu_objects フィルター代わりに使用して、文字列の代わりに項目の配列を変更することができます

例:

add_filter( 'wp_nav_menu_objects', 'restructure_menu_links', 10, 2 );

function restructure_menu_links( $items, $args ) {

    $new_links = array();

    $label = 'Lorem Ipsum';    // add your custom menu item content here

    // Create a nav_menu_item object
    $item = array(
        'title'            => $label,
        'menu_item_parent' => 0,
        'ID'               => 'yourItemID',
        'db_id'            => '',
        'url'              => $link,
        'classes'          => array( 'menu-item' )
    );

    $new_links[] = (object) $item; // Add the new menu item to our array

    // insert item
    $location = 3;   // insert at 3rd place
    array_splice( $items, $location, 0, $new_links );

    return $items;
}

http://stackoverflow.com/questions/32203672/how-to-add-custom-menu-to-certain-position-in-wordpress

スポンサーリンク

Leave a Reply