2010-01-12 5 views
1

'the_author'필터 이벤트가 발생할 때마다 문자열 처리를 수행하는 Wordpress 플러그인을 작성하고 있습니다. 그러나 일부 위젯에는 'the_author'이벤트가 포함되어 있으며 이후에는 내 플러그인이 실행되지 않아야합니다. 따라서 플러그인이 특정 위젯에서 호출되었지만 지금까지 아무런 소용이 없는지 감지하려고합니다. 무시하고 싶은 한 위젯을 '최근 댓글'이라고합니다. 나는 시도했다 :Wordpress 위젯에서 Wordpress 플러그인이 호출되는지 확인하는 방법

function wrap_author($the_author) { 
    if(!is_active_widget('recent_comments')) { 
     $the_author = '<span class="CA_author">' . $the_author . '</span>'; 
     return $the_author; 
    } 
} 
그것은 내가 위젯에 대한 올바른 이름을 사용하지 오전이 될 수

, 내가 최근 댓글 위젯에 대한 적절한 내부 이름을 찾기 위해 많이 봤했지만 지금까지 그것을 찾을 수 없습니다 . 아니면 is_active_widget 함수를 사용해서는 안됩니다.

답변

1

"메인"콘텐츠 영역에서 실행하고 싶다면 in_the_loop() 함수를 사용하여 콘텐츠 루프에 있는지 확인하고 볼 수 있습니다.

if (in_the_loop()) { 
// do stuff 
} 

이 사이드 바에서 모든 실행에서 코드를 유지합니다) 이것은 아마도 당신이 길의 99 %를 얻을 것이다 그러나 당신은 거의 확실하게 좌절의 원인이됩니다 일부 가장자리 경우를 찾을 수 있습니다.

+0

이것은 실제로 아주 좋은 해결책입니다, 저는 이것이 일을 할 것이라고 생각합니다, 고마워요! – DrDee

관련 문제