Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Wordpress搜索中修改查询_Php_Mysql_Wordpress - Fatal编程技术网

Php 在Wordpress搜索中修改查询

Php 在Wordpress搜索中修改查询,php,mysql,wordpress,Php,Mysql,Wordpress,我正在尝试将查询扩展软件与Wordpress集成,但是Wordpress搜索引擎是一个AND搜索器(返回包含查询中所有单词的内容,因此查询越广泛,返回的结果越少)。 因此,当我使用带有扩展功能的查询时,搜索者返回的结果较少。 我想修改搜索的行为,并将其变成更像一个或搜索者 例如: 对于“物联网,物联网”的查询,我想要那些内容为“物联网”或“物联网,或两者”的帖子 我已经通读了这个文档()并尝试使用如下内容: add_action( 'template_redirect', 'hooks_setu

我正在尝试将查询扩展软件与Wordpress集成,但是Wordpress搜索引擎是一个AND搜索器(返回包含查询中所有单词的内容,因此查询越广泛,返回的结果越少)。 因此,当我使用带有扩展功能的查询时,搜索者返回的结果较少。 我想修改搜索的行为,并将其变成更像一个或搜索者

例如: 对于“物联网,物联网”的查询,我想要那些内容为“物联网”或“物联网,或两者”的帖子

我已经通读了这个文档()并尝试使用如下内容:

add_action( 'template_redirect', 'hooks_setup' , 20 );
function hooks_setup() {
    if (! is_home() ) //<= you can also use any conditional tag here
        return;
    add_action( '__before_loop'     , 'set_my_query' );
    add_action( '__after_loop'      , 'set_my_query', 100 );
}

function set_my_query() {
    global $wp_query, $wp_the_query;
    switch ( current_filter() ) {
        case '__before_loop':
            //replace the current query by a custom query
            //Note : the initial query is stored in another global named $wp_the_query
            $wp_query = new WP_Query( array(
                'post_type'         => 'post',
                'post_status'       => 'publish',
               //others parameters...
            ) );
        break;

        default:
            //back to the initial WP query stored in $wp_the_query
            $wp_query = $wp_the_query;
        break;
    }
}
add_action('template_redirect','hooks_setup',20);
函数hooks\u setup(){
如果(!is_home())/“post”,
“发布状态”=>“发布”,
//其他参数。。。
) );
打破
违约:
//返回存储在$WP\u中的初始WP查询
$wp\u query=$wp\u\u查询;
打破
}
}

但是我不知道我需要在wp_查询中设置哪些参数。我如何才能做到这一点?

要回答需要设置哪些参数,您必须通读。各种项目(帖子类型或类别)的参数都在本页上定义,当您想要更改时,您所要做的就是修改参数

如果你不知道你想做什么查询,我认为人们很难帮助你。如果你得到的结果较少,你可以进一步打开查询或在两个查询中获得结果。通读这一页,你会发现当人们想要获得不同类型的数据时,这一点很常见,而不是一切都在循环中

另外,为了进一步了解循环以及如何重置查询和执行新查询,您可以获得两个结果集,并在需要的时间和地点使用它们或组合它们


仅举一个例子,在以s作为参数的帖子中搜索字符串,如果在一个词前面加上连字符,则会排除与该词匹配的帖子。例如,“抱枕-沙发”将返回包含“抱枕”但不包含“沙发”的帖子(自4.4版起提供).

你没有问任何问题,只是说明了你想做什么。请看。根据我的理解:他有一个函数(查询扩展),给定一个单词,它会返回其他单词(即足球返回“soccer”、“team sport”)。然后他想搜索所有这些关键字(但不是所有关键字都在同一篇文章中,每个单词一次搜索)。因此,搜索“足球”、“足球”和“团队运动”,然后组合结果。理想情况下,最好发送逗号分隔的关键字数组,并获取所有可用关键字的帖子。可以创建一个函数来准备此类查询或组合多个查询的结果集。@Ivan这正是我想说的。谢谢!