大理高端网站建设|网站托管|极速建站|WordPress主题设计开发

WordPress多站点社区动态中获取自定义文章类型更新

2016-07-04 1291次

Wordpress多站点社区动态中获取自定义文章类型更新萨龙网络使用Buddypress社区已经很长一段时间,在社区首页动态中可能获取整个网站的最新文章、用户注册,用户动态内容,而自定义文章类型的发布动态默认不会显示在社区动态中,所以今天花点时间Google下解决了这个问题。

设置自定义文章类型名,再分别输出不一样的内容,product就输出产品,portfolio就输出作品的字样

  1. add_filter ( 'bp_blogs_record_post_post_types', 'activity_publish_custom_post_types',1,1 );
  2. function activity_publish_custom_post_types( $post_types ) {
  3.     $post_types[] = 'product';
  4.     $post_types[] = 'portfolio';
  5.     return $post_types;
  6. }
  7. add_filter( 'bp_blogs_activity_new_post_action', 'im_activity_content', 2, 10 );
  8. function im_activity_content($activity_content$post$post_permalink){
  9.     if$post->post_type == 'product' ) {
  10.         $activity_content = sprintf( __( '%1$s 在站点 %3$s 中发布了一篇新产品 %2$s', 'buddypress' ), bp_core_get_userlink( (int)$post->post_author ), '<a href="' . $post_permalink . '">' . $post->post_title . '</a>', '<a href="' . get_blog_option( $blog_id, 'home' ) . '">' . get_blog_option( $blog_id, 'blogname' ) . '</a>' );
  11.     }
  12.     if$post->post_type == 'portfolio' ) {
  13.         $activity_content = sprintf( __( '%1$s 在站点 %3$s 中撰写了一篇新作品 %2$s', 'buddypress' ), bp_core_get_userlink( (int)$post->post_author ), '<a href="' . $post_permalink . '">' . $post->post_title . '</a>', '<a href="' . get_blog_option( $blog_id, 'home' ) . '">' . get_blog_option( $blog_id, 'blogname' ) . '</a>' );
  14.     }
  15.     return $activity_content;
  16. }

代码来源:Buddypress社区

这样在发布产品与作品等自定义文章类型的文章时,在社区动态就会获取发布的信息。