2011-08-09 8 views
0

get_the_contentまたはthe_contentコンテンツフィルタ中にウィジェットが実際に実行されているか(サイドバーに表示されているかどうか)知ることはできますか?Wordpressで選択的コンテンツフィルタを追加する

私がしたいのは、ウィジェットが実行されている場合にのみ、選択的に動作するコンテンツフィルタを作成することです。ウィジェット内の他のコンテンツにのみ影響を与えたくありません。 ...)。ウィジェットの実行が終了した後にコンテンツフィルタを削除するとよいでしょう。

is_page is_category、...などの素晴らしい機能がありますが、is_sidebarやsometingなどの機能はありません。

私はウィジェット表示機能の中で&フィルターを削除しようとしましたが、そのようなフィルターを追加することはできないようです。

+0

解決策を見つけました... – Sofija

答えて

0

ハンドラをget_sidebarアクションに追加し、そこにいくつかのグローバル変数を設定してから、関数の最後にリセットすることができます。しかし、エレガントなソリューションではありません。別の方法は、get_sidebar関数の存在についてdebug_backtraceの結果を調べることですが、私はそれが本当に遅く動作することをほとんど確信しています。

+0

アイデアをありがとう!私は同様のロジックに基づいた回避策を作成しました。グローバル変数を使用しないようにする(de)activateメソッドでthe_contentフィルタを処理するphpクラスに実装しました。これにはクリーンな解決策がないようです。 – Sofija

関連する問題