Wordpress:以编程方式为前端创建子菜单

时间:2017-11-06 20:26:46

标签: mysql wordpress plugins

我想写一个wordpress-plugin,你可以在其中添加一个页面。 如果您提交页面,它还应在“团队”菜单下创建一个子菜单。

到目前为止,我可以通过我的代码创建一个页面,但不能创建子菜单。

我尝试了在谷歌上找到的不同功能,但没有任何功能。

有没有人知道有用的功能或脚本?

1 个答案:

答案 0 :(得分:0)

是的,请使用以下示例进行操作。如果没有定义多个菜单对象,则可能需要更改或删除检查您是否在右侧菜单中的子句。

menu_item_parent非常重要,这是父项uid。通过查看您的前端源代码来找到它。您应该发现通过WP菜单创建功能插入的每个菜单项都会插入唯一的项ID。

// add a sub menu dynamically via code!
function aj_add_menu_item( $items, $args ) {

// check we are in the right menu
if( $args -> theme_location =="primary" ) {

    $new_links = array();
    // Create a nav_menu_item object
    $newItem = array(
        'title'            => "Offers",
        'menu_item_parent' => 71,
        'ID'               => 'loginout',
        'db_id'            => '12312332', // something random
        'url'              => "offers",
        'classes'          => array( 'menu-item' )
    );

    $items[] = (object) $newItem;   // add to end of existing object.    
    menu_item_parent value will ensure it goes in right place
    return $items;

    }else{
        return $items;
    }
}
add_filter( 'wp_nav_menu_objects', 'aj_add_menu_item', 10, 2 );