私は "posts_"フィルタフックに不慣れで、知識のあるものからいくつかのことを知りたいと思いました:
この 質問 では、誰かがposts_join
を使用して2番目のパラメータ$query
を使用して回答を投稿しました。
add_filter('posts_join',array(&$this,'posts_join'),10,2);
...
function posts_join($join,$query) {
}
これはwp_queryのインスタンスですか、それとも似たようなものですか?
同じ例
管理者側で持っているカスタム投稿タイプごとにカスタム結合を実行できるように、投稿タイプを決定する方法
posts_fields
フィルタフックは何をしますか?私が見た例から、SELECT
呼び出しのSQL
節の列を置き換えるように見えます。
私はその仮定を修正していますか、そしてそれも呼ばれることができるより多くのパラメータを持っていますか?
私はいくつかの例を見つけますが、私はどこにも確かなドキュメンテーションを得ることができません。
いずれかのメソッドを使用して投稿(query_posts()
、get_posts()
またはWP_Query
オブジェクト)引数を照会すると、指定した引数が処理されてSQL照会になります。これはWP_Query->&get_posts()
メソッドで起こります。
引数は全能ではないので、そこには結果のSQLクエリの一部を変更または上書きすることを可能にする多くのフックがあります。
posts_join
は、SQL JOINを処理するクエリの一部です。たとえば、必要に応じて分類法に関連するテーブルなど、追加のテーブルをミックスに追加します。
posts_fields
はどのデータベースフィールドがクエリで返されるかを制御するように見えます、それはposts
テーブルのすべてのフィールドにデフォルトであるようです。