我正在尝试编写一个函数,该函数将“抓取”博客搜索表单中输入的搜索词,然后将该函数挂接到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\');
最合适的回答,由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\');