Member pagination not working on custom member page
-
My wordpress is 4.1 and Buddypress 2.1.1
Hello Community,
I am having a problem with a custom member page pagination, when clicking link to pagination page 2, pagination takes us to page 2 and adds the string “?upage=2” to the site URL.
After that, clicking page 1 or back symbol on pagination links does nothing, only refreshes page.
Problematic page: http://wp1.kodeserver.net/coach/
I have set the page above in Twentyfifteen theme as to exclude any third party theme related errors.If we use the default member page “http://wp1.kodeserver.net/members/” then pagination works ok.
I believe the error might be caused by the member filter i made or maybe i messed up the template.
Hope you can help.
Below is the code i am using:
functions that i use to filter member loop by member types on the site:
function bp_exclude_users_but_player() {
$excluded_users_but_player = implode(',',get_users('role=coach&fields=ID'));
$excluded_users_but_player = $excluded_users_but_player.','.implode(',',get_users('role=seniorcoach&fields=ID'));
$excluded_users_but_player = $excluded_users_but_player.','.implode(',',get_users('role=subscriber&fields=ID'));
$excluded_users_but_player = $excluded_users_but_player.','.implode(',',get_users('role=editor&fields=ID'));
$excluded_users_but_player = $excluded_users_but_player.','.implode(',',get_users('role=administrator&fields=ID'));
return $excluded_users_but_player;
}function bp_exclude_users_but_coach() {
$excluded_users_but_coach = implode(',',get_users('role=player&fields=ID'));
//$excluded_users_but_coach = $excluded_users_but_coach.','.implode(',',get_users('role=seniorcoach&fields=ID'));
$excluded_users_but_coach = $excluded_users_but_coach.','.implode(',',get_users('role=subscriber&fields=ID'));
$excluded_users_but_coach = $excluded_users_but_coach.','.implode(',',get_users('role=editor&fields=ID'));
$excluded_users_but_coach = $excluded_users_but_coach.','.implode(',',get_users('role=administrator&fields=ID'));
return $excluded_users_but_coach;
}function bp_exclude_users_but_senior_coach() {
$excluded_users_but_senior_coach = implode(',',get_users('role=player&fields=ID'));
$excluded_users_but_senior_coach = $excluded_users_but_senior_coach.','.implode(',',get_users('role=coach&fields=ID'));
$excluded_users_but_senior_coach = $excluded_users_but_senior_coach.','.implode(',',get_users('role=subscriber&fields=ID'));
$excluded_users_but_senior_coach = $excluded_users_but_senior_coach.','.implode(',',get_users('role=editor&fields=ID'));
$excluded_users_but_senior_coach = $excluded_users_but_senior_coach.','.implode(',',get_users('role=administrator&fields=ID'));
return $excluded_users_but_senior_coach;
}function bp_exclude_cc_backend_users() {
$excluded_cc_backend_users = implode(',',get_users('role=subscriber&fields=ID'));
$excluded_cc_backend_users = $excluded_cc_backend_users.','.implode(',',get_users('role=editor&fields=ID'));
$excluded_cc_backend_users = $excluded_cc_backend_users.','.implode(',',get_users('role=administrator&fields=ID'));
return $excluded_cc_backend_users;
}
Member Loop that calls member “Coach” filter:
<?php if ( bp_has_members( bp_ajax_querystring( 'members').'&exclude='.bp_exclude_users_but_coach().'&per_page=24' ) ) : ?>
And this is the problematic page template code (The one that filters by role type (coach))
<?php
/**
* The template for displaying all pages
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages and that
* other 'pages' on your WordPress site will use a different template.
*
* @package WordPress
* @subpackage Kleo
* @since Kleo 1.0
*/get_header(); ?>
<?php get_template_part('page-parts/general-title-section'); ?>
<?php get_template_part('page-parts/general-before-wrap'); ?>
<?php
if ( have_posts() ) :
// Start the Loop.
while ( have_posts() ) : the_post();
/*
* Include the post format-specific template for the content. If you want to
* use this in a child theme, then include a file called called content-___.php
* (where ___ is the post format) and that will be used instead.
*/
get_template_part( 'content', 'page' );
endwhile;
endif;
?><?php do_action( 'bp_before_directory_members_page' ); ?>
<section class="container-wrap main-color">
<div class="section-container container"><div id="buddypress">
<?php do_action( 'bp_before_directory_members' ); ?>
<?php do_action( 'bp_before_directory_members_content' ); ?>
<!--<div id="members-dir-search" class="dir-search" role="search">
<?php //bp_directory_members_search_form(); ?>
</div>--><!-- #members-dir-search --><?php do_action( 'bp_before_directory_members_tabs' ); ?>
<form action="" method="post" id="members-directory-form" class="dir-form">
<div id="subnav" class="item-list-tabs" role="navigation">
-
<!--<li class="selected" id="members-all">"><?php //printf( __( 'All Members <span>%s</span>', 'buddypress' ), bp_get_total_member_count() ); ?>--> <!--Contatore membri totali-->
<?php //if ( is_user_logged_in() && bp_is_active( 'friends' ) && bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
<!--<li id="members-personal">"><?php //printf( __( 'My Friends <span>%s</span>', 'buddypress' ), bp_get_total_friend_count( bp_loggedin_user_id() ) ); ?>-->
<?php //endif; ?><?php //do_action( 'bp_members_directory_member_types' ); ?>
<?php //do_action( 'bp_members_directory_member_sub_types' ); ?>
<!--<li id="members-order-select" class="last filter">
<label for="members-order-by"><?php //_e( 'Order By:', 'buddypress' ); ?></label>
<select id="members-order-by">
<option value="active"><?php //_e( 'Last Active', 'buddypress' ); ?></option>
<option value="newest"><?php //_e( 'Newest Registered', 'buddypress' ); ?></option><?php //if ( bp_is_active( 'xprofile' ) ) : ?>
<option value="alphabetical"><?php _e( 'Alphabetical', 'buddypress' ); ?></option>
<?php //endif; ?><?php //do_action( 'bp_members_directory_order_options' ); ?>
</select>
--></div><!-- .item-list-tabs -->
<div id="members-dir-list" class="members dir-list">
<?php
/**
* BuddyPress - Members Loop
*
* Querystring is set via AJAX in _inc/ajax.php - bp_legacy_theme_object_filter()
*
* @package BuddyPress
* @subpackage bp-legacy
*/?>
<?php if ( bp_has_members( bp_ajax_querystring( 'members').'&exclude='.bp_exclude_users_but_coach().'&per_page=24' ) ) : ?>
<div id="pag-top" class="pagination">
<div class="pag-count" id="member-dir-count-top">
<?php bp_members_pagination_count(); ?>
</div>
<div class="pagination-links" id="member-dir-pag-top">
<?php bp_members_pagination_links(); ?>
</div>
</div><?php do_action( 'bp_before_directory_members_list' ); ?>
<ul id="members-list" class="item-list row kleo-isotope masonry">
<?php while ( bp_members() ) : bp_the_member(); ?>
<?php $user_info = get_userdata(bp_get_member_user_id()); ?>
<?php
$user_roles = $user_info->roles;
$user_role = array_shift($user_roles);// echo 'User ID: ' . $user_info->ID . "\n";
// echo bp_core_get_user_displayname( $user_info->ID ) ;
// echo $user_info->ID ;
?><li class="kleo-masonry-item type-<?php echo $user_role; ?>">
ID ; ?>' value='show/hide'> <!-- link che apre info's nascoste -->
<div class="member-inner-list animated animate-when-almost-visible bottom-to-top">
<div class="item-avatar rounded">
<!-- ">
--> <?php bp_member_avatar( 'type=full&height=150&width=150' ); ?>
<!-- -->
<?php //do_action('bp_member_online_status', bp_get_member_user_id()); ?>
</div>
<!-- "> -->
<div class="item">
<div class="item-title"><span class="loop-nome"><?php bp_member_name(); ?></span><span class="loop-cognome"><?php bp_member_profile_data( 'field=Cognome' ); ?></span></div><!-- <?php if ( bp_get_member_latest_update() ) : ?>
<span class="update"> <?php bp_member_latest_update(); ?></span>
<?php endif; ?>
-->
<?php do_action( 'bp_directory_members_item' ); ?><?php
/***
* If you want to show specific profile fields here you can,
* but it'll add an extra query for each member in the loop
* (only one regardless of the number of fields you show):
*
* bp_member_profile_data( 'field=the field name' );
*/
?></div>
</div><!--end member-inner-list-->
<!-- link che apre informazioni nascoste -->
<div id="contenuto-nascosto-<?php echo $user_info->ID ; ?>" class="hidden-infos">
<div class="nascondi-infos">
ID ; ?>' value='show/hide'>
<i class="icon-cancel"></i>
</div>
<div class="unhidden-infos unhidden-infos-first ">
<div class="item-avatar-small">
">
<?php bp_member_avatar( 'type=full&height=50&width=50' ); ?>
<?php do_action('bp_member_online_status', bp_get_member_user_id()); ?>
</div>
</div>
<div class="unhidden-infos">
<div class="item-title">
">
<span class="loop-nome"><?php bp_member_name(); ?></span>
">
<span class="loop-cognome"><?php bp_member_profile_data( 'field=Cognome' ); ?></span>
</div>
</div>
<div class="unhidden-infos">
<span class="nomeazienda-titolo custom-title">Azienda:</span>
<span class="nomeazienda custom-infos"><?php bp_member_profile_data( 'field=Azienda' ); ?></span>
</div>
<div class="unhidden-infos">
<span class="pos-lavorativa-title custom-title">Funzione:</span>
<span class="pos-lavorativa custom-infos"><?php bp_member_profile_data( 'field=Funzione' ); ?></span>
</div>
<div class="unhidden-infos">
<span class="settore-title custom-title">Settore:</span>
<span class="settore custom-infos"><?php bp_member_profile_data( 'field=Settore' ); ?></span>
</div>
<div class="unhidden-infos">
<span class="laurea-title custom-title">Laurea:</span>
<span class="laurea custom-infos"><?php bp_member_profile_data( 'field=Laurea' ); ?></span>
</div><div class="action">
<div class="generic-button" id="send-private-message">
" title="Clicca per profilo completo" class="send-message">Profilo Completo
</div><?php //do_action( 'bp_directory_members_actions' ); ?>
</div>
</div><script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#nascondi-mostra-<?php echo $user_info->ID ; ?>').live('click', function(event) {
jQuery('#contenuto-nascosto-<?php echo $user_info->ID ; ?>').toggle('show');
});
});
</script><?php endwhile; ?>
<?php do_action( 'bp_after_directory_members_list' ); ?>
<?php bp_member_hidden_fields(); ?>
<?php else: ?>
<div id="message" class="info">
<p><?php _e( "Sorry, no members were found.", 'buddypress' ); ?></p>
</div><?php endif; ?>
<?php do_action( 'bp_after_members_loop' ); ?>
</div><!-- #members-dir-list -->
<?php do_action( 'bp_directory_members_content' ); ?>
<?php wp_nonce_field( 'directory_members', '_wpnonce-member-filter' ); ?>
<?php do_action( 'bp_after_directory_members_content' ); ?>
</form><!-- #members-directory-form -->
<?php do_action( 'bp_after_directory_members' ); ?>
</div><!-- #buddypress -->
</div>
</section><?php do_action( 'bp_after_directory_members_page' ); ?>
<?php get_template_part('page-parts/general-after-wrap'); ?>
<?php get_footer(); ?>
- The topic ‘Member pagination not working on custom member page’ is closed to new replies.