質問: wp_queryが投稿を取得した後に、投稿関連メタのカスタムテーブルをクエリするためのフック/アクション 投稿を受け取る前にwp_queryを操作するためのフック(parse_query、pre_get_posts)があるようですが、 after のためのフックが見つからないようです - // wp_queryオブジェクトが生成されます。 wp_queryオブジェクトが生成された後に取得したい、プラグイン固有の事後関連付けメタデータ用のカスタムテーブルがあります。
回答: 自分が何を達成しようとしているのか、そして今述べたように、関連データを取得する必要があることを述べていないので。カスタムテーブルをクエリする方法は2つあります。 投稿を反復処理しながら、投稿オブジェクトの投稿idを使用してカスタムクエリを個別に実行する必要があります。 メインのwordpressクエリの結合を変更して、wordpressがすでにそれぞれの投稿に関連付けられているカスタムテーブルからデータを取得するようにします。 以下の例は、最初の方法を示しています。 <?php function populate_posts_data( $posts, $query ) { global $wpdb; if ( !count( $posts ) ) return $posts; // posts array is empty send it back with thanks. while ( $posts as $post ) { // query to get custom post data from custom table $query = "select * from {$wpdb->prefix}my_plugin_table where post_id={$post->id}"; $results = $wpdb->get_results( $query ); } return $posts; } add_filter( 'the_posts', 'populate_posts_data' ); ?> 2番目の方法では、 posts_where、posts_join、posts_groupby 、および posts_orderby filtersを調べる必要があります。例として、@ scribuの 並べ替え可能なカスタム列の例 を見ることができます。