Function Reference: geodir_sc_listings_pagination

Summary

Get pagination for gd_listings shortcode.

Global Values

$gridview_columns_widget
(string) (required) Layout type of listing.

Default: None
$geodir_is_widget_listing
(bool) (required) Check that current listview is widget listing.

Default: None
$geodir_event_widget_listview
(bool) (required) Check that current listview is event.

Default: None
$post
(null|WP_Post) (required) Post object.

Default: None
$map_jason
(array) (required) Map data in json format.

Default: None
$map_canvas_arr
(array) (required) Map canvas array.

Default: None

Parameters

$total_posts
(int) (required) Total items count.

Default: None
$posts_per_page
(int) (required) Number items displayed on one page.

Default: None
$pageno
(int) (required) Current page number.

Default: None
$before
(string) (required) Display html before pagination.

Default: empty
$after
(string) (required) Display html after pagination.

Default: empty
$prelabel
(string) (required) Previous page label.

Default: empty
$nxtlabel
(string) (required) Next page label.

Default: empty
$pages_to_show
(int) (required) Number pages to visible in pagination.

Default: 5
$always_show
(bool) (required) Always display pagination when pagination not required.

Default: None

Return Values

(string)
  • Listings pagination HTML content.

Change Log

Since: 1.4.2

Source File

geodir_sc_listings_pagination() is located in geodirectory-functions/shortcode_functions.php [Line: 869]

Source Code

function geodir_sc_listings_pagination($total_posts, $posts_per_page, $pageno, $before = '', $after = '', $prelabel = '', $nxtlabel = '', $pages_to_show = 5, $always_show = false) {
    if (empty($prelabel)) {
        $prelabel = '«';
    }

    if (empty($nxtlabel)) {
        $nxtlabel = '»';
    }

    $half_pages_to_show = round($pages_to_show / 2);

	$numposts = $total_posts;

	$max_page = ceil($numposts / $posts_per_page);

	if (empty($pageno)) {
		$pageno = 1;
	}

	ob_start();
	if ($max_page > 1 || $always_show) {
		// Extra pagination info
		$geodir_pagination_more_info = get_option('geodir_pagination_advance_info');
		$start_no = ( $pageno - 1 ) * $posts_per_page + 1;
		$end_no = min($pageno * $posts_per_page, $numposts);
		
		if ($geodir_pagination_more_info != '') {
			$pagination_info = '
' . wp_sprintf(__('Showing listings %d-%d of %d', 'geodirectory'), $start_no, $end_no, $numposts) . '
'; if ($geodir_pagination_more_info == 'before') { $before = $before . $pagination_info; } else if ($geodir_pagination_more_info == 'after') { $after = $pagination_info . $after; } } echo "
$before $after
"; } $output = ob_get_contents(); ob_end_clean(); return trim($output); }