Php 更改搜索URL

Php 更改搜索URL,php,wordpress,Php,Wordpress,我正在尝试将我的WordPress搜索URL更改为一些用户友好的URL 我当前的搜索url如下所示: ?s=fim&post_type%5B%5D=post&post_type%5B%5D=blog 在这里,我过滤搜索并仅从post_类型获取帖子:post和blog 我已经尝试过这两种方法: functions.php 及 .htaccess 但这两个人重定向了页面,让我松开了post_类型的过滤器 知道我是怎么做的吗 function foo_modify_query_ord

我正在尝试将我的WordPress搜索URL更改为一些用户友好的URL

我当前的搜索url如下所示:

?s=fim&post_type%5B%5D=post&post_type%5B%5D=blog
在这里,我过滤搜索并仅从post_类型获取帖子:post和blog

我已经尝试过这两种方法:

functions.php

.htaccess

但这两个人重定向了页面,让我松开了post_类型的过滤器

知道我是怎么做的吗

function foo_modify_query_order( $query ) {

    if( is_admin() )
        return;

    if( is_search() && $query->is_main_query() ) {
        $post_type = array('resource');
        $query->set('post_type', $post_type);
        $query->set( 'orderby', 'date' );
        $query->set( 'order', 'DESC' );
        $query->set('posts_per_page', -1);
    }
}
add_action( 'pre_get_posts', 'foo_modify_query_order' );

此查询将从帖子类型“blog”和“post”中筛选帖子。

工作正常!非常感谢。
# Change WordPress search URL
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]
function foo_modify_query_order( $query ) {

    if( is_admin() )
        return;

    if( is_search() && $query->is_main_query() ) {
        $post_type = array('resource');
        $query->set('post_type', $post_type);
        $query->set( 'orderby', 'date' );
        $query->set( 'order', 'DESC' );
        $query->set('posts_per_page', -1);
    }
}
add_action( 'pre_get_posts', 'foo_modify_query_order' );