2016-01-20 102 views
0

編輯:即使在將固定鏈接設置爲發佈名稱後,http://domain.com/?paged=3仍然有效。WordPress的分頁不能在主頁上工作發佈名稱固定鏈接

我在我的主頁有分頁的文章收藏。比方說,我有

domain.com 

如果我的永久鏈接設置爲默認是普通格式像

http://domain.com/?p=123 

然後我分頁http://domain.com/?paged=3會工作。

如何過,如果我想我的永久鏈接設置在帖子名稱格式像

http://domain.com/sample-post/ 

然後,我在我的主頁分頁將不再工作。我想,如果在後期的名字永久設置檢查在分頁的鏈接元素,它的

http://domain.com/page/23/ 

然後發生的事情是它不會去23頁它總是重定向到我的主頁

http://domain.com 

我已經嘗試過這個

https://wordpress.stackexchange.com/questions/134339/pagination-on-custom-post-type-not-working-if-permalinks-set-to-rewrite-url

其中我把這個代碼在我functions.php

add_filter('redirect_canonical','custom_disable_redirect_canonical'); 
function custom_disable_redirect_canonical($redirect_url){ 
if (is_singular('your_custom_post_type')) $redirect_url = false; 
return $redirect_url; 
} 

而且它沒有工作。

更新我檢查了functions.php,我看到這個

/* ----------------------------------------------------------------------------- 
     Woo commerce 
    */ 

    if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) { // check if we have woo commerce installed 
     // breadcrumb 
     add_filter('woocommerce_breadcrumb_defaults', 'td_woocommerce_breadcrumbs'); 

     function td_woocommerce_breadcrumbs() { 
      return array(
       'delimiter' => ' <span class="td-sp td-sp-breadcrumb-arrow td-bread-sep"></span> ', 
       'wrap_before' => '<div class="entry-crumbs" itemprop="breadcrumb">', 
       'wrap_after' => '</div>', 
       'before' => '', 
       'after' => '', 
       'home' => _x('Home', 'breadcrumb', 'woocommerce'), 
      ); 
     } 

     // number of products to display on shop page 
     add_filter('loop_shop_per_page', create_function('$cols', 'return 8;')); 



     if (!function_exists('woocommerce_pagination')) { 
      // pagination 
      function woocommerce_pagination(){ 
       echo td_page_generator::get_pagination(); 
      } 
     } 


     if (!function_exists('woocommerce_output_related_products')) { 
      // number of related product 
      function woocommerce_output_related_products() { 
       woocommerce_related_products(4,4); // Display 4 products in rows of 4 
      } 
     } 
    } 



    /** 
    * Add prev and next links to a numbered link list - the pagination on single. 
    */ 
    function wp_link_pages_args_prevnext_add($args) 
    { 
     global $page, $numpages, $more, $pagenow; 

     if (!$args['next_or_number'] == 'next_and_number') 
      return $args; # exit early 

     $args['next_or_number'] = 'number'; # keep numbering for the main part 
     if (!$more) 
      return $args; # exit early 

     if($page-1) # there is a previous page 
      $args['before'] .= _wp_link_page($page-1) 
       . $args['link_before']. $args['previouspagelink'] . $args['link_after'] . '</a>' 
      ; 

     if ($page<$numpages) # there is a next page 
      $args['after'] = _wp_link_page($page+1) 
       . $args['link_before'] . $args['nextpagelink'] . $args['link_after'] . '</a>' 
       . $args['after'] 
      ; 

     return $args; 
    } 
    add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add'); 
    add_theme_support('woocommerce'); 

它沒有宇商貿插件,但它有一個代碼。希望它能幫助你瞭解發生了什麼事情?

回答

0

如果使用WP_Query檢索的帖子,然後更改您的代碼如下

$paged = ($_REQUEST['paged']) ? absint($_REQUEST['paged']) : 1; 


    $args = array(
      'posts_per_page' => 5, 
      'post_type' => 'post', 
      'paged' => $paged, 
    ); 

    $the_query = new WP_Query($args); 

    while ($the_query->have_posts()) : $the_query->the_post(); 
    the_title(); 
    echo '<br>'; 
    endwhile; 

    $big = 999999999; 

    echo paginate_links(array(
      'format' => '?paged=%#%', 
      'current' => max(1, $paged), 
      'total' => $the_query->max_num_pages 
    )); 
+0

謝謝,但如果它使用的是我不知道。我不是曾經爲主題編碼的人,但我更新了這個問題。請參閱我附上的代碼。 – jackhammer013

相關問題