WP_QUERY获取帖子以查询自定义表中与帖子相关的元数据后的挂钩/操作

时间:2011-05-24 作者:Kevin

我看到有一些钩子可以在WP\\u查询获得帖子之前对其进行操作(parse\\u Query,pre\\u get\\u posts),但我似乎找不到任何钩子after 已填充WP\\U查询对象。我有一个自定义表,用于特定于插件的post关联元数据,我希望在填充WP\\U查询对象后从中获取这些元数据。

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_groupbyposts_orderby 过滤器。例如,您可以看看@scribu的sortable custom column\'s example.

SO网友:Klian

尝试使用publish_post, save_postwp_insert_post

阅读更多信息here

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $