2016-04-14 23 views
0

Yeni öğeler ekleyip nav menüsüne silmek zorunda olduğum özel bir eklenti geliştirmeye çalışıyorum.WordPress - nav menü öğesini kaldırırken, bağlantılı sayfa da siliniyor

Ve her menü temasının wp_term_relationships numarasından term_object_id'u kurtardım.

o da bağlantılı sayfasını aşağıdaki işlevini kullanarak menü öğesini silmek çalışıyorum silme menüden öğe kaldırmaya çalışırken,

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) ; 
} 

Ben de follwing yöntemi ile çalıştı, ama aynı sonucu,

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); 
} 

cevap

0

Bu kod benim için çalışıyor. Başka bir kod ya da benzeri işlev olup olmadığını tüm kodu, kontrol edin

wp_delete_post(); 

Yayın silinirken için ekledi. Veya sorguyu sorgu tarayıcınızdan çalıştırmayı deneyin.

+0

Üzgünüm, benim hatam, yazıyı silmek için bir kod vardı. Teşekkürler... – Jobz

İlgili konular