2011-08-09 2 views
0

get_the_content 또는 the_content 콘텐츠 필터 중에 실제로 위젯이 실행되는지 (사이드 바에 표시되는지) 알 수 있습니까?Wordpress는 선택적 콘텐츠 필터를 추가합니다.

내가 원하는 것은 위젯이 실행 중일 때만 선택적으로 작동하는 콘텐츠 필터를 만드는 것입니다. 위젯 내의 다른 콘텐츠에만 영향을 미치고 싶지 않지만 다른 필터가 적용되기 전에 (우선 < ...). 그리고 위젯이 실행을 마친 후에 콘텐츠 필터를 제거하는 것이 좋습니다.

is_page is_category와 같은 유용한 기능이 있지만 is_sidebar 또는 someting과 같은 기능은 없습니다.

위젯 표시 기능 내에서 & 필터를 제거하려고했지만 필터를 추가 할 수없는 것 같습니다.

+0

해결 방법 ... – Sofija

답변

0

처리기를 get_sidebar 동작에 추가하고 일부 전역 변수를 true로 설정 한 다음 함수가 끝날 때 재설정 할 수 있습니다. 하지만 우아한 해결책은 아닙니다. 또 다른 방법은 get_sidebar 함수 존재에 대한 debug_backtrace 결과를 확인하는 것입니다. 그러나 실제로 느리게 작동 할 것이라고 확신합니다.

+0

아이디어를 제공해 주셔서 감사합니다! 비슷한 로직을 기반으로 한 해결 방법을 만들었습니다. 전역 변수를 사용하지 않도록 메소드를 활성화하여 the_content 필터를 처리하는 PHP 클래스에 구현했습니다. 이것에는 깨끗한 해결책이없는 것 같습니다. – Sofija

관련 문제