web-dev-qa-db-ja.com

ループ中にthe_post()にカスタムデータを挿入する

私は私のWordPressサイトにいくつかの投稿を持っています、そして私はキーとしての$numと値としてのrandom()でそれぞれの投稿に乱数を加えたいとしましょう。それから私はそれらのように何かでアクセスしたいです。

$post->numまたはpost_num()

これはループの間にできますか?値は実行されるたびに変わるので、ループの間にそれをする必要があります。この乱数をカスタムフィールドとして追加することはできません。

これを達成する方法はありますか?

1
kutlus

うん、それはそれほど一般的ではありませんが、完全に実行可能で気の利いたテクニックです。

投稿がWP_Queryで取得されると、投稿は次のようにthe_postsフィルタを通過します($thisWP_Queryインスタンスです)。

$this->posts = apply_filters_ref_array( 'the_posts', array( $this->posts, &$this ) );

配列をループして、必要な追加データをオブジェクトに割り当てるだけです。ターゲットとしたい正しいクエリであることをクエリで確認することを忘れないでください。

1
Rarst