2012-04-20 3 views
1

나는 내 테마를위한 기본적인 워드 프레스 위젯을 쓰고있다. 함수 위젯 내에서 함수를 호출해야합니다. 내 함수는 단지 예를 들어 위젯 외부에 위치 :WordPress 위젯에서 함수 호출하기

function my_function($arg) { 
    ... 
} 

function widget($args, $instance) { 
    my_function($arg); 
} 

하고 난 위젯 함수 내에서 my_function을 배치하면 나를 그러나

Fatal error: Call to undefined function my_function() in... 

에러 줄 것이다, 그것은 작동합니다. 예 :

function widget($args, $instance) { 

    function my_function($arg) { 
     ... 
    } 

    my_function($arg); 
} 

위젯 기능 외부에 배치하면 이것이 작동하지 않는 이유를 알고 싶습니다. 감사.

+0

클래스의'widget' 함수는 무엇입니까? – janw

+0

@janw 예, 그렇습니다. 첫번째 예제에서 – user966582

+0

은 같은 클래스에있는'my_function'입니까? 그렇다면 어떻게 부르세요? 'self ::, my_function' 또는'$ this-> my_function'? 그리고 그것은'public','static'으로 정의됩니다 .... – janw

답변

1

함수를 선언 할 때 PHP 클래스 (플러그인 클래스)에있을 수 있다고 생각합니다.

그래서 다음과 같이 코드를 수정하려고 :

function my_function($arg) { 
    ... 
} 

function widget($args, $instance) { 
    $ClassName->my_function($arg); 
} 

을 나는 그것이 더 좋은 것 같아요! 알려주세요.

+0

대단히! 다행이야;) – MavBzh

+1

나는 $ this-> my_function()을 사용하지 않고 $ ClassName-> my_function()을 사용하여이 메소드를 호출하는 것이 놀랍다. – Hexodus

관련 문제