如何在插件激活或停用时删除或添加子菜单项

时间:2017-10-20 作者:mohsin

我正在尝试制作一个基本插件,并希望添加或删除插件激活或停用的子菜单项。我正试图通过wp_get_nav_menu_items()

   $menuLocations = get_nav_menu_locations();
   $menuID = $menuLocations[\'primary\']; 
   $primaryNav = wp_get_nav_menu_items($menuID);
我有三个关于产品的菜单。我想在插件激活的产品下添加一个子菜单。

1 个回复
SO网友:mmm

如果要在每次页面调用时动态添加项目,可以查看以下答案:
Dynamically add sub-categories to any category in the menu

要直接添加元素,您可以尝试将其用于自定义链接,例如:

// create the new element

$post = [
    \'post_title\' => "StackExchange " . date("H:i:s"),
    "menu_order" => 700, // position in the menu
    \'post_type\' => \'nav_menu_item\',
    \'post_status\' => \'publish\',
];

$menu_item_db_id = wp_insert_post( $post );

update_post_meta( $menu_item_db_id, \'url\', "https://wordpress.stackexchange.com/");
update_post_meta( $menu_item_db_id, \'type\', "custom");
update_post_meta( $menu_item_db_id, \'_menu_item_menu_item_parent\', 0); // change to create a sub menu


// association to the menu

$menuLocations = get_nav_menu_locations();
$menuID = (int) $menuLocations[\'primary\'];

wp_set_object_terms($menu_item_db_id, $menuID, "nav_menu");

结束

相关推荐

Problem with custom menus

在菜单上,我说的是自定义菜单,我有一个带有几列的页脚,每列都有一个项目列表,每列菜单都需要从wp admin上的菜单选项进行更新,所以我创建了关于函数的部分。调用菜单并在页脚上添加每个菜单的php。php文档,类似于:<?php wp_nav_menu( array(\'menu\' => \'f-1\', \'menu_class\' => \'\', \'container\' => \'nav\' )); ?> <?php wp_nav_menu( arr