我有一個WordPress網站,它有大量的文章,所有分類。我設置了一個新的主題,分頁(每頁15個帖子),因此用戶可以循環瀏覽每個頁面。一些類別分頁罰款。其他人錯過了最後一頁。最後的帖子在wordpress站點上的最後一個分類頁上沒有顯示
所以,如果一個類別有66個職位...前4個頁面顯示15個不同的職位。但是,當我點擊查看第5頁時,頁面顯示「找不到任何帖子」。最後6個帖子去了哪裏?他們仍然出現在我的政府中(已公佈和可見)。然而,其他類別的網頁沒有這個問題 - 例如,我有一個42職位的類別,它有3頁...最後一頁有12個最後的職位。
所以,分頁似乎工作正常(因爲它清楚地顯示了正確的頁數,對於帖子數量)。請看下面的代碼我有...這是我的模板index.php頁面(我沒有設置一個category.php頁面,因爲它列出非常類似於主頁)代碼。
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // Page
$args = "posts_per_page=15&paged=".$paged; // Base query
$category = get_queried_object(); // Get Cat info
$thisCat = $category->term_id; // Get Cat ID (if exists)
$tagID = get_queried_object()->term_id; // Get Tag ID (if exists)
echo '<!-- paged: '.$paged.'-->';
echo '<!-- catID: '.$thisCat.'-->';
echo '<!-- tagID: '.$tagID.'-->';
if (is_home() || is_front_page()) { // HOMEPAGE
query_posts($args.'&orderby=rand');
echo '<!-- args: '.$args.'&orderby=rand'.'-->';
} elseif (is_search()) { // SEARCH RESULTS ?>
<?php
$search_query = get_search_query();
query_posts($args.'&s='.$search_query);
echo "<!-- args: ".$args.'&s='.$search_query."-->"; ?>
<h1>Search</h1>
<div class="content_labels">
<div class="content_label">SEARCH RESULTS FOR: <?php echo $s; ?></div>
</div>
<div class="clear" style="margin:0 0 10px 0;"></div>
<div class="previouspage">
<a href="javascript:history.back()"><< Previous Page</a>
</div><?php
} elseif(is_category()) { // CATEGORY
query_posts($args.'&cat='.$thisCat);
echo '<!-- args: '.$args.'&cat='.$thisCat.'-->'; ?>
<div class="content_labels">
<div class="content_label">Category:</div>
</div>
<h1><?php single_cat_title('', true); ?></h1>
<div class="clear" style="margin:0 0 10px 0;"></div>
<div class="previouspage">
<a href="javascript:history.back()"><< Previous Page</a>
</div><?php
} elseif(is_tag()) { // TAGS
echo '<!-- args: '.$args.'&tag_id='.$tagID.'-->';
query_posts($args.'&tag_id='.$tagID); ?>
<div class="content_labels">
<div class="content_label">Tag:</div>
</div>
<h1><?php single_tag_title(); ?> </h1>
<div class="clear" style="margin:0 0 10px 0;"></div>
<div class="previouspage">
<a href="javascript:history.back()">Previous Page</a>
</div><?php
}
if (have_posts()) :
$i=1;
while (have_posts()) : the_post(); ?>
// PAGE CODE GOES HERE
endwhile; ?>
<?php base_pagination(); // PAGINATION CODE ?>
<?php endif; ?>
這裏是分頁代碼,從我的functions.php ...我不認爲這是問題...
function base_pagination() {
global $wp_query;
$big = 999999999; // This needs to be an unlikely integer
// For more options and info view the docs for paginate_links()
// http://codex.wordpress.org/Function_Reference/paginate_links
$paginate_links = paginate_links(array(
'base' => str_replace($big, '%#%', get_pagenum_link($big)),
'current' => max(1, get_query_var('paged')),
'total' => $wp_query->max_num_pages,
'mid_size' => 5
));
// Display the pagination if more than one page is found
if ($paginate_links) {
echo '<div class="pagination">';
echo $paginate_links;
echo '</div><!--// end .pagination -->';
}
}
有人能看到什麼錯誤?我一直在玩這個幾個小時,我似乎無法找到解決方案...