My Contributions Tab with Subtabs
-
I’d like to display the latest Posts, Images and Videos posted by a User in Subtabs of My Contributions tab in the profile of each member. Images and Videos are both custom post types.
I found an example how to set up a Tab with a single subtab. I got this working:
https://buddypress.org/support/topic/creating-a-custom-tab-that-takes-in-the-info-from-wp-recent-posts/
But I’m stuck how to add the custom post types images and videos in seperate sub tabs. These should be displayed as thumbnails. Not sure how to achieve this. I tried to copy the given code for a second sub tab but what happens then that all the latest posts disappear and only the latest images of the current logedin member get displayed in the subtab, not the images of the specfici author. So I must be doing something completely wrong.That’s what I tried:`
function bpfr_get_post() { /* * to get all post, comment the line 'author' */ $myposts = get_posts( array( 'posts_per_page' => 25, // set the number of post to show 'author' => bp_displayed_user_id(), // show only this member post 'post_type' => 'post', 'orderby' => 'post_date', 'order' => 'DESC', 'post_status' => 'publish' )); if( ! empty( $myposts ) ) { foreach($myposts as $post) { setup_postdata( $post ); $page_object = get_post( $post ); /* * uncomment next line to show only a list of titles linked to full post * if you uncomment, you have to comment the 2 echo below */ echo '<a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a><br />'; /* * comment the 2 following echo (or remove them) if you use the above */ // echo '<h3 class="profile_post">'. $page_object->post_title .'</h3>'; // echo $page_object->post_content; } wp_reset_postdata(); } else { echo '<div class="info" id="message">No post to show actually.</div>'; } } add_action ( 'my_profile_posts', 'bpfr_get_post' ); function bpfr_get_image() { $myimages = get_posts( array( 'posts_per_page' => 25, // set the number of post to show 'author' => bp_displayed_user_id(), // show only this member post 'post_type' => 'image', 'orderby' => 'post_date', 'order' => 'DESC', 'post_status' => 'publish' )); if( ! empty( $myimages ) ) { foreach($myimages as $post) { setup_postdata( $post ); $page_object = get_post( $post ); /* * uncomment next line to show only a list of titles linked to full post * if you uncomment, you have to comment the 2 echo below */ echo '<a title="' . get_the_title($post->ID) . '" href="' . get_permalink($post->ID) . '">' . get_the_post_thumbnail($post->ID, 'thumbnail') . '</a>'; } wp_reset_postdata(); } else { echo '<div class="info" id="message">No images to show actually.</div>'; } } add_action ( 'my_profile_image', 'bpfr_get_image' ); function bpfr_post_profile_setup_nav() { global $bp; $parent_slug = 'posts'; $child_slug = 'posts_sub'; $child_slug2 = 'images_sub'; bp_core_new_nav_item( array( 'name' => __( 'My contributions' ), 'slug' => $parent_slug, 'screen_function' => 'bpfr_profile_post_screen', 'position' => 50, 'default_subnav_slug' => $child_slug ) ); //Add subnav item bp_core_new_subnav_item( array( 'name' => __( 'Latest posts' ), 'slug' => $child_slug, 'parent_url' => $bp->loggedin_user->domain . $parent_slug.'/', 'parent_slug' => $parent_slug, 'screen_function' => 'bpfr_profile_post_screen' ) ); //Add subnav item bp_core_new_subnav_item( array( 'name' => __( 'Latest images' ), 'slug' => $child_slug2, 'parent_url' => $bp->loggedin_user->domain . $parent_slug.'/', 'parent_slug' => $parent_slug, 'screen_function' => 'bpfr_profile_image_screen' ) ); } function bpfr_profile_post_screen() { add_action( 'bp_template_content', 'bpfr_profile_post_screen_content' ); bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/plugins' ) ); } function bpfr_profile_post_screen_content() { do_action( my_profile_post); } function bpfr_profile_image_screen() { add_action( 'bp_template_content', 'bpfr_profile_image_screen_content' ); bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/plugins' ) ); } function bpfr_profile_image_screen_content() { do_action( my_profile_image); } add_action( 'bp_setup_nav', 'bpfr_post_profile_setup_nav' );
I’m really new to this, so please forgive me if I’m asking help for something that might be obvious for anyone else. I really would appreciate if someone could guide me to a solution. Thanks a lot!
- The topic ‘My Contributions Tab with Subtabs’ is closed to new replies.