[buddypress-trac] [BuddyPress Trac] #6736: Post On Buddypress Profile

buddypress-trac noreply at wordpress.org
Mon Nov 16 19:24:39 UTC 2015


#6736: Post On Buddypress Profile
------------------------------+--------------------------------------------
 Reporter:  Dono12            |      Owner:
     Type:  defect (bug)      |     Status:  new
 Priority:  omg pizza         |  Milestone:  Awaiting Review
Component:  Component -       |    Version:  2.4.0
  XProfile                    |   Keywords:  reporter-feedback dev-feedback
 Severity:  major             |
------------------------------+--------------------------------------------
 Can the developers/contributors add a post on profile button to show user
 posts in the next update. It makes sense to have this function as it
 incorporates Wordpress and Buddypress respectively. There is only one
 plugin that I found which accomplished this feet:

 <a href="https://wordpress.org/plugins/bp-posts-on-profile/">BP Posts On
 Profile</a>

 by Huseyin Berberoglu.  The plugin is out of date and it takes tons of
 modifications to get it going with an up to date Buddypress install.

 The second method is a block of code placed in functions.php


 {{{

 function importSomething(){
 return include_once 'bp-custom.php';
 }
 add_action( 'bp_setup_nav', 'buddyboss_child_bp_nav_adder' );
 add_action( 'bp_template_content', 'profile_buddyboss_child_loop' );
 bp_core_load_template( apply_filters( 'bp_core_template_plugin',
 'members/single/plugins' ) );

 function buddyboss_child_bp_nav_adder() {
 global $bp;
 $post_count = count_user_posts_by_type( $bp->displayed_user->id );
 bp_core_new_nav_item(
 array(
 'name' => sprintf( __( 'Posts <span>%d</span>', 'my-poems' ), $post_count
 ),
 'slug' => 'Articles',
 'position' => 250,
 'show_for_displayed_user' => true,
 'screen_function' => 'buddyboss_child_list',
 'item_css_id' => 'articles',
 'default_subnav_slug' => 'public'
 ));
 }
 function buddyboss_child_list() {
 add_action( 'bp_template_content', 'profile_buddyboss_child_loop' );
 bp_core_load_template( apply_filters( 'bp_core_template_plugin',
 'members/single/plugins' ) );
 }
 /*------- This is end of the code for above function ---------*/
 function profile_buddyboss_child_loop() {
 $myposts = get_posts(  array(
 'posts_per_page' => -1,
 'author'         => bp_displayed_user_id(),
 'post_type'      => 'post'
 ));
 if( ! empty($myposts) ) {
 foreach($myposts as $post) {
 setup_postdata( $post );
 if (has_post_thumbnail( $post->ID ) ):
 $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ),
 'sidebar-smallthumbnew' );
 else :

 $image[0] = "http://www.movemie.com/wp-
 content/uploads/2015/10/userpost.jpg";
 endif;

 echo '<li class="sidebar mostpop post-' . $post->ID . '"><span
 id="postimage"><a href="' . get_permalink($post->ID) . '"><img src="' .
 $image[0] . '" /></a></span><div id="postinfo"><a href="' .
 get_permalink($post->ID) . '">' . get_the_title($post->ID) .
 '</a></div></li>';
 }
 echo '</ul>';
 wp_reset_postdata();
 } else { ?>
 <div class="info" id="message">
 <p><strong><?php bp_displayed_user_fullname(); ?></strong> has No
 posts.</p>
 </div>
 <?php }
 }
 /* This is end of the code for above function */
 remove_filter('bp_setup_nav','');
 function count_user_posts_by_type( $userid, $post_type = 'post' ) {
 global $wpdb;
 $where = get_posts_by_author_sql( $post_type, true, $userid, true);
 $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
 return apply_filters( 'get_usernumposts', $count, $userid );
 }
 }}}




 This works fine but it's quite limited. It also messes with Buddypress
 updates rendering the two latest Buddypress updates useless (Star message,
 and Upload Background image).

 Guys please get around to integrating this ability in Buddypress so one
 doesn't have to spend hours searching and trouble shooting for a function
 which I believe and others should be an already main component.

--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/6736>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac


More information about the buddypress-trac mailing list