gpt4 book ai didi

php - 覆盖wordpress中的搜索功能(sql和php)

转载 作者:行者123 更新时间:2023-12-04 02:23:29 24 4
gpt4 key购买 nike

有没有办法覆盖wordpress中的默认搜索功能?我试过使用过滤器,但它们只允许添加到查询中……或者可能使用 posts_request 重写整个查询。但是,如果我覆盖它,则其他查询将不起作用。我有以下代码

function my_posts_request_filter($input)
{
if ( is_search() && isset($_GET['s'])) {
global $wpdb;
}
return $input;
}

add_filter('posts_request','my_posts_request_filter');

我可以用我的自定义 SQL 覆盖 $input,但页面上有一个小部件显示最近的帖子,如果我这样做则不会显示。有没有办法只覆盖搜索功能??

最佳答案

这不是万无一失的,但假设第一个 WP_Query 调用是针对搜索请求的(可能是插件在 WordPress 之前调用它的情况,但是这不太可能),您可以在函数运行后剥离过滤器。

function my_posts_request_filter($input)
{
if ( is_search() && isset($_GET['s'])) {
global $wpdb;

// do your funky SQL

remove_filter('posts_request','my_posts_request_filter');
}
return $input;
}

关于php - 覆盖wordpress中的搜索功能(sql和php),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com