web-dev-qa-db-ja.com

$ wpdbにフック

WPDBインスタンス($ wpdb)にフックする方法はありますか?

私が基本的に欲しいのは、望んだ問い合わせが実行される前に自分自身の関数を実行することです。

これは可能ですか?

最初の回答へのコメントに対する追加の質問:

    $query = $wpdb->prepare("SELECT * FROM " . $wpdb->prefix . "test WHERE type = %s and ip = %s", $type, $ip_full_log);
    $fetch = $wpdb->get_results($query, ARRAY_A);

これは私のコールバック関数への最後の問い合わせを解析しますか?

2
TheNiceGuy

query - コールバックの引数としてsqlを取得します。

add_filter('query', 'some_callback_that_change_query');

function some_callback_that_change_query($sql){
    remove_filter('query', 'some_callback_that_change_query');
    // your banny wrote
    add_filter('query', 'some_callback_that_change_query');
    return $sql;
}
5
Butuzov