Skip to:
Content
Pages
Categories
Search
Top
Bottom

Re: How can I get a paged activity-stream instead of the “Load more”?


nickrita
Participant

@nickrita

Marius, I did exactly this, but it didn’t work, until I found another thread. The problem was, that the links were shown, but they didn’t give a result. To solve thist, here’s what Andy said: “You either need to write the AJAX function to handle this (you should be able to copy something from one of the core components) or put a class=”no-ajax” on the surrounding div. “

So, using your funtion an adding the no-ajax class, my activity-loop.php in my child-theme now looks like this and it works. Thank you very much for your help!

<?php /* Querystring is set via AJAX in _inc/ajax.php - bp_dtheme_activity_loop() */ ?>

<?php do_action( 'bp_before_activity_loop' ) ?>

<?php if ( bp_has_activities( bp_ajax_querystring( 'activity' ) ) ) : ?>

<?php /* Show pagination if JS is not enabled, since the "Load More" link will do nothing */ ?>

<div class="pagination">

<div class="no-ajax"><div class="pag-count"><?php bp_activity_pagination_count() ?></div>

<div class="pagination-links"><?php bp_activity_pagination_links() ?></div>

</div></div>

<?php if ( empty( $_POST['page'] ) ) : ?>

<ul id="activity-stream" class="activity-list item-list">

<?php endif; ?>

<?php while ( bp_activities() ) : bp_the_activity(); ?>

<?php include( locate_template( array( 'activity/entry.php' ), false ) ) ?>

<?php endwhile; ?>

<?php if ( bp_get_activity_count() == bp_get_activity_per_page() ) : ?>

<noscript><li class="load-more">

<?php _e( 'Load More', 'buddypress' ) ?>   <span class="ajax-loader"></span>

<?php endif; ?></noscript>

<?php if ( empty( $_POST['page'] ) ) : ?>

<?php endif; ?>

<?php else : ?>

<div id="message" class="info">

<p><?php _e( 'Sorry, there was no activity found. Please try a different filter.', 'buddypress' ) ?></p>

</div>

<?php endif; ?><div class="pagination">

<div class="no-ajax"><div class="pag-count"><?php bp_activity_pagination_count() ?></div>

<div class="pagination-links"><?php bp_activity_pagination_links() ?></div>

</div></div>

<?php do_action( 'bp_after_activity_loop' ) ?>

<form action="" name="activity-loop-form" id="activity-loop-form" method="post">

<?php wp_nonce_field( 'activity_filter', '_wpnonce_activity_filter' ) ?>

</form>

You can see it running on http://netzkritzler.de.

The last page is not shown, I don’t know why, but that doesn’t really matter.

Skip to toolbar