2012-05-07 3 views
0

"delete_post"작업에서 트리거 기능에 문제가 있습니다. 저는 데이터베이스에 하나 이상의 테이블을 추가해야하는 기능을 구현하고 있습니다.이 테이블에는 wp_postmeta를 사용할 수 없습니다. 게시물에 대한 데이터가있는 테이블이이 메신저 때문에. 관리자는 관리자 패널에서 게시물을 삭제 나의 새로운 생성 테이블에 해당 게시물에 대한 데이터를 삭제할 때 내가 원하는Wordpress - 게시물이 삭제 될 때의 작업 (이상)

(난 후 사라 경우 중복 데이터가 유지 싶지 않다) 그리고 난 이런 식으로 뭔가를 구현 :

add_action('admin_init', 'codex_init'); 
function codex_init() { 
    if (current_user_can('delete_posts')) add_action('delete_post', 'delete_something'); 
} 

function delete_something($postid) { 
    //here im deleting everything from that table with that post id for that post type 
} 

누군가가 클릭 한 번만 삭제하면 완벽하게 작동합니다. 그러나 내가 한 번에 (WordPress의 관리자 메뉴에서 버튼을 확인하고 삭제 옵션을 선택하여) 더 많은 게시물을 삭제하고 싶을 때, 이것은 효과가 없을 것입니까? 내가 여기에 뭔가 잘못하고 있습니까? 아니면 누군가가 여러 게시물을 한꺼번에 삭제하려고 할 때 다른 조치가 있습니까?

TNX

답변

2

는 나는 액션이있는 기능 wp_delete_post를 트리거 않는 wp-admin/edit.php의 코드 바라 보았다.
시도해보십시오. die이고 var_dump 명이 맞습니까?

add_action('admin_init', 'codex_init'); 
function codex_init() { 
    if (current_user_can('delete_posts')) add_action('delete_post', 'delete_something'); 
} 

function delete_something($postid) { 
    var_dump('trigger'.$postid);die(); 
    //here im deleting everything from that table with that post id for that post type 
} 
+0

안녕하세요? tnx repply 및 미안 왜냐하면 조금 늦게 :) .. 문제는 내 함수 dete_something() .. 나는 이미 함수 내에서 전역 $ 게시를 사용하여, 심지어 내가 이미 parametar에서 ID를 가지고 ... :) 그래서 결론은이다 ,이 게시물은 한번에 여러 게시물을 삭제하는 데 100 % 유효합니다. – cool

+0

나는 그렇게 생각했습니다. 반가워요. – janw

관련 문제