将空的 WooCommerce 搜索结果重定向到自定义页面

Re-Direct Empty WooCommerce Search Result To Custom Page

提问人:Learning WooStoreFront 提问时间:11/13/2023 最后编辑:Learning WooStoreFront 更新时间:11/13/2023 访问量:52

问:

我正在尝试将所有返回 0 结果的产品搜索结果重定向到自定义 URL。使用下面的代码,我在WordPress中获得“”消息屏幕。Fatal error

这是我的代码:

add_action( 'template_redirect', 'redirect_empty_search_result', 2 );
function redirect_empty_search_result() {

    if ( isset( $_GET['s'] ) && strcasecmp( $_GET['s'] ) == 0 ) {
        
        wp_safe_redirect( '/empty-search/' );
    
    exit();
    
    }
}
php woocommerce 模板-重定向

评论

0赞 Stephen Ostermiller 11/13/2023
错误日志中有什么?500 个错误记录有关问题的调试信息,通常由 Web 服务器生成。error_log
0赞 Learning WooStoreFront 11/13/2023
我确实在代码中遗漏了一个。所以现在它是这样说的:)Fatal error: Uncaught ArgumentCountError: strcasecmp() expects exactly 2 arguments, 1 given
1赞 katsucurry 11/13/2023
根据文档,strcasecmp() 以不区分大小写的方式比较两个字符串。您仅使用一个字符串调用该函数,这就是出现错误的原因。
0赞 CBroe 11/13/2023
您当前正在检查参数(用户输入的搜索词)是否等于 。这当然是完全不同的事情,而不是检查使用 的值 执行的搜索是否返回零结果。s0s

答:

1赞 ayoob zare 11/13/2023 #1

我没有检查你的代码,但“strcasecmp”需要两个参数 示例:

add_action( 'template_redirect', 'redirect_empty_search_result', 2 );
function redirect_empty_search_result() {

    if ( isset( $_GET['s'] ) && strcasecmp( $_GET['s'], '' ) == 0 ) {
    
        wp_safe_redirect( '/empty-search/' );
        exit();
   }
}

评论

0赞 Learning WooStoreFront 11/13/2023
是的,我也尝试过该版本,但它没有重定向。
0赞 ayoob zare 11/13/2023
你的主题是什么?
0赞 ayoob zare 11/13/2023
代码的使用位置
0赞 Learning WooStoreFront 11/13/2023
theme: bootscore 在 cild 主题的函数文件中。
0赞 ayoob zare 11/13/2023
这段代码通过bootscore为我工作