내 탐색 메뉴에 새 항목을 추가하고 삭제해야하는 사용자 지정 플러그인을 개발하려고합니다.
그리고 나는 각 메뉴 term_object_id
에서 저장 wp_term_relationships
했습니다.
메뉴에서 항목을 제거하려고 할 때 링크 된 페이지도 삭제하려고 할 때 다음 기능을 사용하여 메뉴 항목을 삭제하려고합니다.
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);
}
이 코드는 저에게 효과적입니다. 다른 코드 또는 기능이 있는지 전체 코드를 확인하십시오.
wp_delete_post( );
게시물 삭제를 위해 추가되었습니다.
또는 쿼리 브라우저에서 쿼리를 실행 해보십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다