WordPress 如何对搜索到的内容进行编码 URL

WordPress how to encode the searched URL

我想搜索 URL 如下所示:

example.com/search/search+query?post_type=product.

我试过很多方法,包括这个:

wp_redirect( home_url( "/search/?s=" ) . urlencode( get_query_var( 's' ) . "&post_type=" . urlencode( get_query_var( 'post_type' ) ) );

还有这个:

wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ). "?post_type=". urlencode( get_query_var( 'post_type' ) ) ) );

但我得到的结果是:

example.com/search/search+query%3Fpost_type%3Dproduct

我该怎么办?

以下代码段将为您解决问题![​​=12=]

$decoded_url = urldecode('example.com/search/search+query%3Fpost_type%3Dproduct');

echo $decoded_url;

结果将是:

example.com/search/search query?post_type=product 

urlencode_deep(混合$值)

在数组、对象或标量中导航,并对要在 URL 中使用的值进行编码。

$value -(混合)(必需)要编码的数组或字符串。

function urlencode_deep( $value ) {
    return map_deep( $value, 'urlencode' );
}