Advertisement
Guest User

WP Bug

a guest
Sep 19th, 2014
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.32 KB | None | 0 0
  1. <?php/*
  2. Template Name: test
  3. */?>
  4. <?php
  5.     function get_pagenum_link2($pagenum = 1, $escape = true ) {
  6.     global $wp_rewrite;
  7.  
  8.     $pagenum = (int) $pagenum;
  9.     echo '<pre>';
  10.     print_r($_SERVER);
  11.     echo '</pre>';
  12.     $request = remove_query_arg( 'paged' );
  13.     echo 'req1'.$request.'<br/>';
  14.     $home_root = parse_url(home_url());
  15.     print_r($home_root);
  16.     $home_root = ( isset($home_root['path']) ) ? $home_root['path'] : '';
  17.     $home_root = preg_quote( $home_root, '|' );
  18.  
  19.     echo 'home'.$home_root.'<br/>';
  20.  
  21.     $request = preg_replace('|^'. $home_root . '|i', '', $request);
  22.     $request = preg_replace('|^/+|', '', $request);
  23.     echo 'req2'.$request.'<br/>';
  24.  
  25.     if ( !$wp_rewrite->using_permalinks() || is_admin() ) {
  26.         $base = trailingslashit( get_bloginfo( 'url' ) );
  27.  
  28.         if ( $pagenum > 1 ) {
  29.             $result = add_query_arg( 'paged', $pagenum, $base . $request );
  30.         } else {
  31.             $result = $base . $request;
  32.         }
  33.     } else {
  34.         $qs_regex = '|\?.*?$|';
  35.         preg_match( $qs_regex, $request, $qs_match );
  36.  
  37.         if ( !empty( $qs_match[0] ) ) {
  38.             $query_string = $qs_match[0];
  39.             $request = preg_replace( $qs_regex, '', $request );
  40.             echo 'req3'.$request.'<br/>';
  41.         } else {
  42.             $query_string = '';
  43.         }
  44.  
  45.         $request = preg_replace( "|$wp_rewrite->pagination_base/\d+/?$|", '', $request);
  46.         echo 'req4'.$request.'<br/>';
  47.         $request = preg_replace( '|^' . preg_quote( $wp_rewrite->index, '|' ) . '|i', '', $request);
  48.         echo 'req5'.$request.'<br/>';
  49.         $request = ltrim($request, '/');
  50.         echo 'req6'.$request.'<br/>';
  51.  
  52.         $base = trailingslashit( get_bloginfo( 'url' ) );
  53.  
  54.         if ( $wp_rewrite->using_index_permalinks() && ( $pagenum > 1 || '' != $request ) )
  55.             $base .= $wp_rewrite->index . '/';
  56.  
  57.         if ( $pagenum > 1 ) {
  58.             $request = ( ( !empty( $request ) ) ? trailingslashit( $request ) : $request ) . user_trailingslashit( $wp_rewrite->pagination_base . "/" . $pagenum, 'paged' );
  59.         }
  60.  
  61.         $result = $base . $request . $query_string;
  62.     }
  63.  
  64.     /**
  65.      * Filter the page number link for the current request.
  66.      *
  67.      * @since 2.5.0
  68.      *
  69.      * @param string $result The page number link.
  70.      */
  71.     //$result = apply_filters( 'get_pagenum_link', $result );
  72.  
  73.     if ( $escape )
  74.         return esc_url( $result );
  75.     else
  76.         return esc_url_raw( $result );
  77.     }
  78.  
  79.     $args = array(
  80.         'post_type'=>'page'
  81.     );
  82.  
  83.     query_posts($args);
  84.     //wp_reset_query();
  85.     echo get_pagenum_link2( 3 );
  86. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement