programing

wordpress : add_action : 두 번째 파라미터가 함수명이 아닌 배열인 이유

powerit 2023. 4. 3. 21:49
반응형

wordpress : add_action : 두 번째 파라미터가 함수명이 아닌 배열인 이유

워드프레스 플러그인을 작성하려고 하는데 ops 개념을 사용하는 플러그인이 하나 발견되었습니다. 질문은 add_action 함수의 두 번째 파라미터가 함수 이름이 아닌 배열인 이유입니다.

add_action admin_menu', array(&$this, 'my_menu');

my_menu는 같은 클래스의 함수입니다.도와주세요

감사해요.

두 번째 인수는 콜백이어야 합니다.(그리고add_action는 내부적으로 사용합니다.

함수의 경우 이름을 문자열로 전달할 수 있지만 오브젝트 메서드에서는 그렇게 할 수 없습니다.

따라서 어레이는 2개의 요소로 전달됩니다.첫 번째는 오브젝트, 두 번째는 호출 메서드입니다.-

array( $object, 'method' )

아, 그리고 그 쓸모없는 '&'를 안전하게 제거할 수 있습니다.PHP4 일수는 지났습니다.

@Thomas John, wordpress org에서도 add_action의 두 번째 인수에 대해서는 아무 말도 하지 않았습니다.그러므로 이제 배열을 두 번째 인수 배열($this, 'method')로 전달할 수 있습니다.

설명: 객체가 클래스를 만들면 컨스트럭터가 자동으로 호출하여 액션이 수행됩니다.

IT부문에 필요한 이유wordpress에서 add_action 메서드로 클래스를 작성 또는 초기화하는 방법(아래의 클래스 체크를 참조)

class Myclass{
 public function __construct() {


add_action( 'plugins_loaded', array( $this, 'load_plugin_textdomain' ) );

}
}

add_action()을 사용하여 클래스를 참조합니다.

언급URL : https://stackoverflow.com/questions/6204387/wordpress-add-action-why-the-second-parameter-is-an-array-instead-of-a-funct

반응형