web-dev-qa-db-fra.com

Modifier une requête spécifique sur Wordpress

J'ai besoin de changer la requête d'un plugin qui est et non la requête principale. L'auteur n'a mis aucun filtre. Je peux voir la requête de

$wpdb->queries

Y a-t-il un moyen d'accéder à la requête spécifique et de remplacer ce dont j'ai besoin? Si vous avez besoin d'informations supplémentaires, je serai ravi de vous les fournir. Merci d'avance.

Modifier Comme demandé:

Il y a une classe par exemple. MyClass Inside, il existe une fonction, par exemple, ma fonction

ma fonction a

$event_obj = $wpdb->get_results($querystr, OBJECT);

Puis-je modifier $ querystr?

EDIT # 2

Je crois que je vais quelque part (après 4 heures).

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;
}

** EDIT # 3 (la requête complète) **

http://Pastebin.com/8zxTSdV8

Cordialement,

Spyros

1
Spyros

Vous pourrez peut-être utiliser le hook de filtre query

Voir cette réponse WPSE

En gros, vous pouvez faire quelque chose comme:

add_filter( 'query', 'your_filter_function' );

function your_filter_function($query_sql) {
    // do something to $query_sql
    return $query_sql;
}

Ceci sera appelé pour chaque requête, vous aurez donc besoin de tester $query_sql pour vous assurer qu'il s'agit bien de la requête souhaitée.

1
anu