Function Reference: geodir_buddypress_pagination
Summary
BuddyPress listings tab pagination.
Package
GeoDirectory_BuddyPress_Integration
Parameters
- $before
- (string) (required) Pagination before HTML.
- Default: None
- $after
- (string) (required) Pagination after HTML.
- Default: None
- $prelabel
- (string) (required) Pagination previous label text.
- Default: None
- $nxtlabel
- (string) (required) Pagination next label text.
- Default: None
- $pages_to_show
- (int) (required) Number of pages to show.
- Default: None
- $always_show
- (bool) (required) Always display the pagination? Default: false.
- Default: None
Change Log
Since: 1.0.0
Source File
geodir_buddypress_pagination() is located in geodir_buddypress/includes/gdbuddypress_template_functions.php [Line: 452]
Source Code
function geodir_buddypress_pagination($before = '', $after = '', $prelabel = '', $nxtlabel = '', $pages_to_show = 5, $always_show = false)
{
global $posts_per_page, $found_posts, $paged;
if (empty ($prelabel)) {
$prelabel = '«';
}
global $bp;
$user_domain = geodir_buddypress_get_user_domain();
if (empty($nxtlabel)) {
$nxtlabel = '»';
}
$half_pages_to_show = round($pages_to_show / 2);
if (!is_single() && $found_posts > 0 && $posts_per_page > 0) {
$numposts = $found_posts;
$max_page = ceil($numposts / $posts_per_page);
if (empty($paged)) {
$paged = 1;
}
$current_domain = '';
if ($bp->current_component && $bp->current_action) {
$component_domain = trailingslashit($user_domain . $bp->current_component . '/');
$current_domain = trailingslashit($user_domain . $bp->current_component . '/' . $bp->current_action);
}
if ($max_page > 1 || $always_show) {
echo "$before ";
if ($paged >= ($pages_to_show - 1)) {
$url = get_pagenum_link();
if ($current_domain) {
$url = strpos($url, $current_domain) !== false ? $url : str_replace($component_domain, $current_domain, $url);
}
echo '«';
}
ob_start();
previous_posts_link($prelabel);
$url = ob_get_clean();
if ($current_domain) {
$url = strpos($url, $current_domain) !== false ? $url : str_replace($component_domain, $current_domain, $url);
}
echo $url;
for ($i = $paged - $half_pages_to_show; $i <= $paged + $half_pages_to_show; $i++) {
if ($i >= 1 && $i <= $max_page) {
if ($i == $paged) {
echo "$i";
} else {
$url = get_pagenum_link($i);
if ($current_domain) {
$url = strpos($url, $current_domain) !== false ? $url : str_replace($component_domain, $current_domain, $url);
}
echo ' ' . $i . ' ';
}
}
}
ob_start();
next_posts_link($nxtlabel, $max_page);
$url = ob_get_clean();
if ($current_domain) {
$url = strpos($url, $current_domain) !== false ? $url : str_replace($component_domain, $current_domain, $url);
}
echo $url;
if (($paged + $half_pages_to_show) < ($max_page)) {
$url = get_pagenum_link($max_page);
if ($current_domain) {
$url = strpos($url, $current_domain) !== false ? $url : str_replace($component_domain, $current_domain, $url);
}
echo '»';
}
echo " $after";
}
}
}