Wordpress多站点社区动态中获取自定义文章类型更新
萨龙网络使用Buddypress社区已经很长一段时间,在社区首页动态中可能获取整个网站的最新文章、用户注册,用户动态内容,而自定义文章类型的发布动态默认不会显示在社区动态中,所以今天花点时间Google下解决了这个问题。
设置自定义文章类型名,再分别输出不一样的内容,product就输出产品,portfolio就输出作品的字样
- add_filter ( 'bp_blogs_record_post_post_types', 'activity_publish_custom_post_types',1,1 );
- function activity_publish_custom_post_types( $post_types ) {
- $post_types[] = 'product';
- $post_types[] = 'portfolio';
- return $post_types;
- }
- add_filter( 'bp_blogs_activity_new_post_action', 'im_activity_content', 2, 10 );
- function im_activity_content($activity_content, $post, $post_permalink){
- if( $post->post_type == 'product' ) {
- $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>' );
- }
- if( $post->post_type == 'portfolio' ) {
- $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>' );
- }
- return $activity_content;
- }
代码来源:Buddypress社区
[successbox]这样在发布产品与作品等自定义文章类型的文章时,在社区动态就会获取发布的信息。[/successbox]