php - 为什么 wp 动作钩子不适用于基于特定 url 字符串删除短代码的函数
问题描述
我试图了解为什么在我的子主题的functions.php 文件中,我能够根据特定字符串是否在url 中成功抑制短代码。
但是,我不能通过使用函数和动作钩子以“正确的方式”做同样的事情。
示例:因此,如果在我的 functions.php 中,我能够获得预期的行为,我有......
snip
if( strpos($_SERVER['REQUEST_URI'], "/?s=") !== false )
remove_shortcode('uwr-button');
snip
但是,如果我在我的 functions.php 文件中执行以下操作,我将不成功:
snip
function remove_shortcode_exec_on_query(){
// condition to disable uwr-button shortcode
if( strpos($_SERVER['REQUEST_URI'], "/?s=") !== false )
remove_shortcode('uwr-button');
}
add_action('wp','remove_shortcode_exec_on_query');
snip
如果我注释掉顶部片段并取消注释底部片段,您可以看到错误的行为,如下链接所示: https ://s1.temporary-access.com/~allacros/devel/?s=tahiti
解决方案
推荐阅读
- reactjs - 反应 if 语句未显示结果
- javascript - boostrap datetimepicker 显示选择日期下拉列表
- c# - 实现一个单选按钮来切换其他单选按钮
- javascript - 如何将 jquery CSS 获取到动态加载的 div 元素内的元素?
- opencv - 使用移动物体稳定视频
- r - Apply() 函数,它是如何工作的,我错在哪里?
- ruby-on-rails - Rails - 不显示嵌套属性视图
- racket - 无法打开创建的 .exe 文件(Racket 编程语言)
- html - 如何在单个单元格中显示集合而不是为每个元素创建列?
- r - 取消嵌套包含列表的数据框