更改WordPress上的特定查询

时间:2014-12-19 作者:Spyros

我需要更改插件的查询not 主查询。作者没有设置任何过滤器。我可以从中查看查询

$wpdb->queries
是否有方法访问特定查询并替换我需要的内容?如果你需要进一步的信息,我很乐意提供。提前谢谢你。

Edit根据要求:

有一个类,例如MyClassInside有一个函数,例如myfunction

myfunction具有

$event_obj = $wpdb->get_results($querystr, OBJECT);
我可以更改$querystr吗?

EDIT #2

我相信我正在取得进展(4小时后)。

add_filter(\'query\', \'spyros_query\');
function spyros_query($query) {

  if (strpos($query,\'what_only_this_query_will_contain\') !== false) {
    return false; // for testing purposes
  }

  return $query;
}
**编辑#3(完整查询)**

http://pastebin.com/8zxTSdV8

当做

斯皮罗斯

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

您可以使用query 过滤器挂钩

看见this WPSE answer

基本上,你可以这样做:

add_filter( \'query\', \'your_filter_function\' );

function your_filter_function($query_sql) {
    // do something to $query_sql
    return $query_sql;
}
这将为每个查询调用,因此您需要进行测试$query_sql 以确保它是您想要的查询。

结束