当前位置: 首页 > 知识库问答 >
问题:

如何停止在WordPress中处理过滤器?

颛孙嘉玉
2023-03-14

WordPress的contact form 7插件有一个扩展,我可以根据不同的条件隐藏某些表单字段(比如“其他”字段,在选择选项设置为“其他”之前一直隐藏)。不幸的是,如果其中一个字段被标记为必填字段,则会弹出一个错误,说明该字段是必填字段,即使用户从未看到该字段!

不幸的是,联系人表单7设置为不可逆字段无效:一旦字段无效,就无法重新验证,表单提交失败。由于CF7是如此可扩展,我需要一个解决方案,将涵盖所有使用CF7验证挂钩的验证插件。

remove_filters()不起作用,因为我只希望它应用于一个领域,而不是所有领域。删除过滤器会破坏所有字段的验证,我不想这样。

有没有办法将一个函数附加到一个钩子上,该钩子将“中止”该钩子,使其仅为apply_filters()的这个实例停止处理更多过滤器函数?

共有1个答案

乌翰学
2023-03-14

根据http://blogs.ntm.org/stephen-narwold/2016/10/04/how-to-stop-processing-filters-in-wordpress/,这是我想到的。我们需要将$wp\u filter['this\u filter']的内部数组指针设置到末尾。

add_filters('example_filter', 'my_stop_processing_filters_func', 2);
function my_stop_processing_filters_func( $in ) {
    // Stops filters of this tag from being applied after the current priority level is finished
    global $wp_filter;
    if ( $in['skip-me'] ) {
        // using current_filter() allows one function to be used for multiple filter tags if necessary
        end( $wp_filter[ current_filter() ] );
    }

    // never forget to return the filtered variable!
    return $in;
}
 类似资料:
  • 问题内容: 我有URLRewirteFilter,它检查请求的域是否以www开头。并重定向到无www网址。当要重定向请求时,如何停止进一步的处理(调用JSF应用程序,调用servlet等)?到目前为止,我有这个: 问题答案: 只需在末尾添加一条语句即可 或添加一个

  • 问题内容: 每当我在searchview中进行搜索时,我一直在努力阻止索引超出范围异常崩溃。我尝试了网上列出的几件事: 在搜索中使数组脱离索引绑定异常 https://www.codeproject.com/Questions/1040119/Android-app-is-crashing-with- Index-out-of-range-is 但到目前为止没有任何帮助。这个问题是我的代码特有的,

  • 我正在使用Spring4和Tomcat。问题是有时我不得不在我的筛选器中抛出一个(自定义的)RuntimeException(控件甚至还没有到达控制器)。问题是,由于我没有抛出tomcat理解的异常,它被转换为500(内部服务器错误)。我相信403禁止会比500好(对于我的定制例外)。我查看了和注释。但只有当控件到达控制器时,这些才起作用。 到目前为止,我在筛选器的中将状态手动设置为403。有没有

  • 我是android编程的新手,所以这些问题可能是愚蠢的。我读了一些书,但不能完全得到答案。 我有一个广播接收器,从一个服务注册了一些意图- 由于我移除了“setforeground”调用以保持我的服务运行(因为我不想要状态栏图标,我想知道我是否懒惰使用这种方法),我的服务现在将定期关闭,通常在短时间后再次启动(但有时我看到它是5分钟)。

  • 我正在尝试用ChartJS制作一个甜甜圈进度表。我想显示完成百分比(即完成5%)。 目前,我有一个带有数据< code>[5,95]的图表,因为(据我所知),ChartJS不允许只添加百分比,它用灰色数据线填充图表的其余部分,所以我必须添加< code>95数据点。 我已经使用工具提示过滤器使工具提示不显示在图表的部分,但我现在想防止当我将鼠标悬停在部分数据点上时背景更改颜色。目前,它在悬停时看起

  • 我在Elasticsearch 7.10中创建了一个索引,如下所示: 如您所见,我配置了一个名为my_analyzer的自定义分析器,该分析器应用了令牌过滤器。基于文档,我希望这个过滤器在索引时从文档的所有类型属性中删除英语stopwords。 事实上,如果我向http://localhost:30200/my_index/_analyze使用此请求主体: 我得到一个响应,表明令牌、、和已从提供的