I'm using Buddypress for wordpress and I'm trying to show a loop on the profile page of a user. I use infinite scroll to load more pages but the link to page 2 doesn't point to a group of posts and instead takes me to a blank page template but I do get this link.
"http://mysite.com/exampleuser/page/2"
Any ideas on how to make this page correctly? The following snippet is placed in the profile-loop.php
.
<?php
global $bp;
global $paged;
global $wp_query;
$temp = $wp_query;
$wp_query = null;
$user_id = $bp->displayed_user->id;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'posts_per_page' => 16,
'cat' => -1,
'post_type' => array(
'post',
'fod_videos',
'fod_music',
'fod_articles',
'fod_albums'
),
'author' => $user_id,
'paged' => $paged
);
$wp_query = new WP_Query($args);
while ( $wp_query->have_posts() ) : $wp_query->the_post();
get_template_part( 'loop', 'contents' );
endwhile;
echo '<div class="infinitescroll">';
next_posts_link('Next');
echo '</div>';
$wp_query = null; $wp_query = $temp;
?>
<script type="text/javascript">
var href = 'first';
$(document).ready(function() {
$('#boxes').infinitescroll({
loading: {
finished: undefined,
finishedMsg: '',
img: '',
msgText: '',
speed: 'fast',
start: undefined
},
navSelector: '.infinitescroll',
nextSelector: '.infinitescroll a',
itemSelector: '#boxes .box',
bufferPx : 120,
debug: false
}, function(arrayOfNewElems) {
var $newElems = $( arrayOfNewElems ).css({opacity: 0});
$newElems.imagesLoaded(function(){
$newElems.animate({opacity: 1});
$('#boxes').masonry('appended', $newElems, true);
if(href != $('.infinitescroll a').attr('href')) {
href = $('.infinitescroll a').attr('href');
}
});
});
});
</script>