在我的第一個插件上工作。它有一個註冊激活掛鉤,這樣當插件被激活時,它會將一個導航項添加到某個菜單。當我停用插件時,我想要刪除此鏈接。如果wp_update_nav_menu_item允許你將一個項目添加到導航菜單,那麼這個函數的完全相反是什麼?如何從WordPress導航菜單中刪除單個項目?
function add_frontend_menu_link(){
if(wp_get_nav_menu_object('Main Navigation')){
$menu = wp_get_nav_menu_object('Main Navigation');
wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('Menu'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url('/menu'),
'menu-item-status' => 'publish'));
$menu_page = array(
'post_title' => 'Our Menus',
'post_name' => 'menu',
'post_content' => 'Choose from the menus below to find out what we serve and when we serve it.',
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'page',
);
wp_insert_post($menu_page);
}
}
register_activation_hook(__FILE__, 'add_frontend_menu_link');
function remove_frontend_menu_link(){
//What should go here?
}
register_deactivation_hook(__FILE__, 'remove_frontend_menu_link');
如果有一種方法來檢索所創建的菜單項的ID,我可以存儲在該插件的選項,然後調用它的失活鉤和刪除由該ID的帖子。
你試過['remove_menu_page()'](https://codex.wordpress.org/Function_Reference/remove_menu_page)嗎? –
這不僅適用於管理控制檯導航中的鏈接嗎?我想從前端導航菜單中刪除鏈接。 – ShoeLace1291
導航項目存儲爲帖子,使用'WP_Query'來查找帖子(帖子類型爲'nav_menu_item'和你的帖子標題),並用'wp_delete_post()'將其刪除? – naththedeveloper