0
私は、ナビゲーションメニューに新しいアイテムを追加したり削除したりするカスタムプラグインを開発しようとしています。WordPress - navメニューアイテムを削除すると、リンクされたページも削除されます
そして、term_object_id
を各メニューのwp_term_relationships
から保存しました。
私もfollwing方法で試してみましたが、同じ、私は次の関数を使用して、メニュー項目を削除しようとしています 、それはまた、リンク先のページを削除するメニューから項目を削除するには
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) ;
}
をしよう結果、
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);
}
ご迷惑をおかけしましたが、投稿を削除するコードがありました。ありがとう... – Jobz