我看到有一些钩子可以在WP\\u查询获得帖子之前对其进行操作(parse\\u Query,pre\\u get\\u posts),但我似乎找不到任何钩子after 已填充WP\\U查询对象。我有一个自定义表,用于特定于插件的post关联元数据,我希望在填充WP\\U查询对象后从中获取这些元数据。
WP_QUERY获取帖子以查询自定义表中与帖子相关的元数据后的挂钩/操作
2 个回复
最合适的回答,由SO网友:Hameedullah Khan 整理而成
由于您没有说明要实现什么,并且刚刚提到需要获取相关数据。有两个选项可以查询自定义表:
迭代帖子时,需要使用post对象中的post id单独执行自定义查询
<?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\' );
?>
对于第二种方法,您需要了解posts_where, posts_join, posts_groupby 和posts_orderby 过滤器。例如,您可以看看@scribu的sortable custom column\'s example.SO网友:Klian
尝试使用publish_post, save_post 或wp_insert_post
阅读更多信息here
结束