2016-04-14 66 views
0

我想開發一個自定義插件,通過它我必須添加和刪除新項目到我的導航菜單。WordPress - 刪除導航菜單項時,鏈接的頁面也正在刪除

而且我已經從wp_term_relationships保存了term_object_id每個菜單項目。

當試圖刪除的菜單項也刪除鏈接的頁面, 我嘗試使用下面的函數刪除的菜單項,

function removeMenuEntry($menu_id,$menuterm){  
    $itemData = array(
     'menu-item-object-id' => $menuterm, 
     'menu-item-status'  => 'draft' 
    ); 
    wp_update_nav_menu_item($menu_id, $menuterm, $itemData) ; 
} 

我也試圖與follwing方法,但相同的結果,

function removeMenuItem($term_menu){ 
    global $wpdb; 
    $sql = " DELETE FROM wp_term_relationships WHERE object_id = '$term_menu' ; "; 
    $wpdb->query($sql); 
    $sql = " 
    DELETE FROM wp_posts 
    WHERE ID=(
    SELECT post_id from wp_postmeta 
    WHERE meta_key='_menu_item_object_id' 
    AND meta_value='$term_menu' 
    ) AND post_type='nav_menu_item' ; "; 
    $wpdb->query($sql); 
    $sql = " SELECT post_id from wp_postmeta 
      WHERE meta_key='_menu_item_object_id' 
      AND meta_value='$term_menu' "; 
    $result_state = $wpdb->get_results($sql,ARRAY_A); 
    $sql = "DELETE from wp_postmeta 
      WHERE post_id=".$result_state[0]['post_id']." "; 
    $wpdb->query($sql); 
} 

回答

0

此代碼適用於我。請檢查您的整個代碼是否有其他代碼或功能,如

wp_delete_post(); 

添加刪除帖子。

或嘗試從查詢瀏覽器運行查詢。

+0

對不起,這是我的錯誤,有一個代碼來刪除帖子。謝謝... – Jobz