Changeset 6680 for trunk/src/includes/search/template.php
- Timestamp:
- 09/07/2017 05:40:59 AM (8 years ago)
- File:
-
- 1 edited
-
trunk/src/includes/search/template.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/includes/search/template.php
r6672 r6680 77 77 78 78 // Add pagination values to query object 79 $bbp->search_query->posts_per_page = $r['posts_per_page'];80 $bbp->search_query->paged = $r['paged'];79 $bbp->search_query->posts_per_page = (int) $r['posts_per_page']; 80 $bbp->search_query->paged = (int) $r['paged']; 81 81 82 82 // Never home, regardless of what parse_query says … … 86 86 if ( ! empty( $bbp->search_query->found_posts ) && ! empty( $bbp->search_query->posts_per_page ) ) { 87 87 88 // Array of arguments to add after pagination links 89 $add_args = array(); 90 91 // If pretty permalinks are enabled, make our pagination pretty 92 if ( bbp_use_pretty_urls() ) { 93 94 // Shortcode territory 95 if ( is_page() || is_single() ) { 96 $base = trailingslashit( get_permalink() ); 97 98 // Default search location 99 } else { 100 $base = trailingslashit( bbp_get_search_results_url() ); 101 } 102 103 // Add pagination base 104 $base = $base . user_trailingslashit( bbp_get_paged_slug() . '/%#%/' ); 105 106 // Unpretty permalinks 107 } else { 108 $base = add_query_arg( 'paged', '%#%' ); 109 } 110 111 // Add args 112 if ( bbp_get_view_all() ) { 113 $add_args['view'] = 'all'; 114 } 88 // Total for pagination boundaries 89 $total_pages = ( $bbp->search_query->posts_per_page === $bbp->search_query->found_posts ) 90 ? 1 91 : ceil( $bbp->search_query->found_posts / $bbp->search_query->posts_per_page ); 92 93 // Pagination settings with filter 94 $bbp_search_pagination = apply_filters( 'bbp_search_results_pagination', array( 95 'base' => bbp_get_search_pagination_base(), 96 'total' => $total_pages, 97 'current' => $bbp->search_query->paged 98 ) ); 115 99 116 100 // Add pagination to query object 117 $bbp->search_query->pagination_links = paginate_links( 118 apply_filters( 'bbp_search_results_pagination', array( 119 'base' => $base, 120 'format' => '', 121 'total' => ceil( (int) $bbp->search_query->found_posts / (int) $r['posts_per_page'] ), 122 'current' => (int) $bbp->search_query->paged, 123 'prev_text' => is_rtl() ? '→' : '←', 124 'next_text' => is_rtl() ? '←' : '→', 125 'mid_size' => 1, 126 'add_args' => $add_args, 127 ) ) 128 ); 129 130 // Remove first page from pagination 131 if ( bbp_use_pretty_urls() ) { 132 $bbp->search_query->pagination_links = str_replace( bbp_get_paged_slug() . '/1/', '', $bbp->search_query->pagination_links ); 133 } else { 134 $bbp->search_query->pagination_links = preg_replace( '/&paged=1(?=[^0-9])/m', '', $bbp->search_query->pagination_links ); 135 } 101 $bbp->search_query->pagination_links = bbp_paginate_links( $bbp_search_pagination ); 136 102 } 137 103 … … 343 309 return apply_filters( 'bbp_get_search_terms', $search_terms, $passed_terms ); 344 310 } 311 312 /** Pagination ****************************************************************/ 313 314 /** 315 * Return the base URL used inside of pagination links 316 * 317 * @since 2.6.0 bbPress (r6679) 318 * 319 * @return string 320 */ 321 function bbp_get_search_pagination_base() { 322 323 // If pretty permalinks are enabled, make our pagination pretty 324 if ( bbp_use_pretty_urls() ) { 325 326 // Shortcode territory 327 if ( is_page() || is_single() ) { 328 $base = trailingslashit( get_permalink() ); 329 330 // Default search location 331 } else { 332 $base = trailingslashit( bbp_get_search_results_url() ); 333 } 334 335 // Add pagination base 336 $base = $base . user_trailingslashit( bbp_get_paged_slug() . '/%#%/' ); 337 338 // Unpretty permalinks 339 } else { 340 $base = add_query_arg( 'paged', '%#%' ); 341 } 342 343 // Filter & return 344 return apply_filters( 'bbp_get_search_pagination_base', $base ); 345 } 345 346 346 347 /**
Note: See TracChangeset
for help on using the changeset viewer.