새 플러그인으로 기존 플러그인 조치를 대체하는 방법


18

플러그인을 사용하고 있습니다. 이와 같은 동작이 있습니다.

add_action('publish_post', 'old_action');
function old_action($pid) {
    "code goes here"
    }
}

이 플러그인에 대한 모듈을 작성 중입니다. 그래서 나는 새로운 액션 함수로 그 오래된 액션 함수를 재정의해야합니다.

이것은 나의 새로운 기능입니다.

function new_action($pid) {
      "code goes here"
        }
    }

후크를 사용하여 old_action 함수를 new_action 함수로 바꾸고 싶습니다. 누구든지 나를 도울 수 있습니까?

감사

답변:


33

다음 remove_action()과 같이 기능을 사용할 수 있습니다 .

remove_action('publish_post', 'old_action');
add_action('publish_post', 'new_action');

old_action이 우선 순위 매개 변수와 함께 추가 된 remove_action경우이를 호출에 추가해야합니다 . 그렇지 않으면 제거 할 수 없습니다. old_action이 클래스 내에 추가 된 경우 다른 의미가 있습니다. 여기를 참조 하십시오 를 .


3
제거하는 함수가 추가 된 후에 제거 조치가 호출되어야 함을 명확히하는 +1.
Stephen Harris

2
'after_setup_theme'은 remove_action을위한 좋은 장소 인 것 같습니다. 보다: wordpress.stackexchange.com/questions/170663/...
DigitalDesignDj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.