如何获取检索词及其在函数中的使用

时间:2014-04-25 作者:bodesam

我正在尝试编写一个函数,该函数将“抓取”博客搜索表单中输入的搜索词,然后将该函数挂接到get_search_query 像这样的过滤器add_filter(\'get_search_query\',\'myFunction\'); 因此,每次进行搜索时,“myFunction”都会运行并获取搜索词(或者我认为是这样),我在myFunction中有一行代码来获取搜索词

$search_term = get_search_query();

但这似乎造成了问题,博客上没有显示,除了评论那一行。实现该主题的正确方法是什么。谢谢

代码如下:

function myFunction(){
global $wpdb;
$search_term = get_search_query();
$table = $wpdb->prefix . "tableName"; 
$insert = "INSERT into $table(`serach_term`) VALUES (\'$search_term\')";
$wpdb->query($insert);   
}

add_filter(\'get_search_query\',\'myFunction\');

1 个回复
最合适的回答,由SO网友:Milo 整理而成

您正在将筛选器添加到get_search_query, 在函数调用中get_search_query, 哪个运行过滤器,哪个调用get_search_query, 哪个运行过滤器,哪个调用get_search_query, 哪个运行你的过滤器…你看到这里的问题了吗?

搜索查询作为参数传递给过滤器,因此不需要获取它-

function myFunction($search_term){
    // now you can use $search_term directly in your code
}
add_filter(\'get_search_query\',\'myFunction\');

结束

相关推荐

注意:未定义索引:SUPPRESS_FILTERS

我正在做一个主题的除虫工作,我希望有人能帮助我。我使用JustinTadlock创建的这个函数在博客页面上显示自定义帖子类型,并且将wp debug设置为true,我会收到一个通知:未定义索引:suppress\\u filters消息。代码如下:// Custom Post Type for the public blog posts to show on Index or blog page add_filter( \'pre_get_posts\', \'my_get_posts\' );&