将搜索块从+更改为-(连字符)

时间:2021-05-13 作者:Jey Pawlik

我整天都在摆弄这个,试图改变我的网站搜索功能。com/s?此%20是网站的%20示例。com/tag/这是一个毫无用处的例子。

我的代码片段中包含以下代码:

/** * Change search page slug. */

function wp_change_search_url() {
    if ( is_search() && ! empty( $_GET[\'s\'] ) ) {
        wp_redirect( home_url( "/tag/" ) . urlencode( get_query_var( \'s\' ) ) );
        exit();
    }  
}
add_action( \'template_redirect\', \'wp_change_search_url\' );
理论上,这应该是我想要的,我很快就能解决这个问题。但是我的URL现在显示为/tag/this+is+an+example/而不是/tag/this+an+example/

有什么想法吗?非常感谢您的帮助!

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

PHP的urlencode() 函数将空格替换为+s、 这就是为什么你会这样。

WordPress提供sanitize_title() 函数,该函数用于(除其他外)从帖子标题生成帖子段塞。

/** * Change search page slug. */

function wp_change_search_url() {
    if ( is_search() && ! empty( $_GET[\'s\'] ) ) {
        wp_redirect( home_url( "/tag/" ) . sanitize_title( get_query_var( \'s\' ) ) );
        exit();
    }  
}
add_action( \'template_redirect\', \'wp_change_search_url\' );

相关推荐

How to search pdf attachment?

我正在使用高级自定义字段创建自定义字段。我创建了一个名为upload pdf的自定义字段。我可以使用此字段附加pdf文件,字段类型为File.假设WordPress中有一个发布页面。出版物在页面上显示为PDF文件。这些PDF来自一个自定义字段。页面上有一个搜索选项,可以搜索PDF文件。在搜索栏中键入PDF文件名时,应显示结果。我不想为此使用任何插件。如果不使用任何插件,是否可以搜索这些pdf文件?