向查询字符串添加更多文本

时间:2015-03-27 作者:philippe

在我正在开发的网站上,我需要一个“特殊搜索”功能。搜索页面是通过表单中的搜索查询调用的,该表单具有以下\\u GET参数:http://example.com/s=searchstring&s1=s1text1&s2=s2text1&s2=s2text2

在搜索页面本身(结果将在哪里),我如何连接s1和s2参数,以便wordpress的结果将被视为接收到:http://example.com/s=searchstring+s1text1+s2text1+s2text2

谢谢你的帮助

1 个回复
SO网友:kovshenin

您可以尝试使用set_query_var() 非常非常早,在分析和查询查询之前,例如在pre_get_posts 行动尽管在想,如果你使用pre_get_posts 这样做可能会更容易(在我脑海中):

add_action( \'pre_get_posts\', function( $query ) {
    if ( ! $query->is_main_query() || ! $query->is_search() )
        return;

    $query->set( \'s\', $query->get( \'s\' ) . sprintf( \' %s %s\', $_GET[\'s1\'], $_GET[\'s2\'] ) );
});

结束

相关推荐

更改Get_Search_Form的行为

我创建了一个显示搜索框的函数,并将其命名为my_get_search_form(). 那是原件的副本get_search_form() 作用调用函数时,输出如下:Search in http://localhost/wp_ex_3/ <AN EMPTY BOX> <A BROKEN IMAGE LINK>.我怎样才能改变这个丑陋的显示而不显示http://localhost/wp_ex_3/. 我应该说在函数定义中没有\"search in\" 语句,因此另一个函数导致了此行为。上