【问题标题】:Wordpress adding selective content filterWordpress 添加选择性内容过滤器
【发布时间】:2011-10-23 00:39:56
【问题描述】:

是否有可能知道小部件是否是在 get_the_content 或 the_content 内容过滤器期间实际执行的(显示在侧边栏上)?

我想要做的是创建一个内容过滤器,它将有选择地工作 - 仅当小部件正在执行时 - 我不想影响小部件内的其他内容,但在应用任何其他过滤器之前(优先级

有一些不错的功能,比如 is_page is_category, ... 但没有 is_sidebar 或类似的功能。

我确实尝试在小部件显示功能中添加和删除过滤器,但似乎无法添加这样的过滤器。

【问题讨论】:

    标签: php wordpress filter widget sidebar


    【解决方案1】:

    您可以将处理程序添加到get_sidebar 操作,在那里将一些全局变量设置为 true,然后在函数结束时将其重置。虽然不是一个优雅的解决方案。另一种方法是检查 debug_backtrace 结果中是否存在get_sidebar 函数,但我几乎可以肯定它会运行得很慢。

    【讨论】:

    • 感谢您的建议!我确实基于类似的逻辑做了一个解决方法,只是将它实现到 php 类中,该类使用 (de)activate 方法处理 the_content 过滤器,以避免使用全局变量。似乎没有干净的解决方案。
    猜你喜欢
    • 2013-10-17
    • 2022-01-21
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多