我的問題是我在Wordpress中使用的分頁。我使用了插件WP Pagenavi。我不確定它有什麼問題。分頁:第3頁未找到WordPress安裝
我發現使用此代碼回答我的問題:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php query_posts('cat=4&posts_per_page=15'.'&paged=' . $paged); ?>
但令我失望的,當我posts_per_page減少到5,我可以得到分頁,直到2頁的工作,但是當我點擊頁面3等等,WordPress無法找到它。我用我的研究中的另一種解決方案:
<?php
$limit = '5';
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=4&showposts=' . $limit . '&paged=' . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>
它仍然沒有幫助。我不想觸摸functions.php。我只編輯category.php。
檢查下面的代碼我塊:
<?php if (is_category('category1')) { ?>
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php query_posts('cat=1&posts_per_page=15'.'&paged=' . $paged); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- SOME CODE TO POST THE POST -->
<?php endwhile; ?>
<?php wp_pagenavi() ?>
<?php endif; ?>
<?php } else if (is_category('category2')) { ?>
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php query_posts('cat=2&posts_per_page=15'.'&paged=' . $paged); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- SOME CODE TO POST THE POST -->
<?php endwhile; ?>
<?php wp_pagenavi() ?>
<?php endif; ?>
<?php } else if (is_category('category3')) { ?>
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php query_posts('cat=3&posts_per_page=5'.'&paged=' . $paged); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- SOME CODE TO POST THE POST -->
<?php endwhile; ?>
<?php wp_pagenavi() ?>
<?php endif; ?>
<?php } else if (is_category('category4')) { ?>
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php query_posts('cat=4&posts_per_page=5'.'&paged=' . $paged); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- SOME CODE TO POST THE POST -->
<?php endwhile; ?>
<?php wp_pagenavi() ?>
<?php endif; ?>
<?php } else { ?>
<!-- SOME CODE -->
<?php } ?>
請注意,類別1和類別2顯示5個職位,而其他2類將顯示15個職位。這些都在category.php中。我不想使用設置>閱讀中設置的帖子數量。
如果你認爲類別名稱if語句也把貓ID是多餘的,那麼,它沒有得到職位。
UPDATE
我用這個代碼:
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php $args = array ('post_type' => 'post','cat' => '4','posts_per_page' => '5','paged' => $paged);?>
<?php $my_query = new WP_Query ($args);?>
再次,它的工作,但它只能顯示兩頁!我甚至不知道第三頁在哪裏,據說應該有第三頁。
永遠不要使用'query_posts',它會破壞分頁和主查詢。因爲這是您的category.php,您也不需要自定義查詢,使用默認循環,然後使用'pre_get_posts'來相應地更改主查詢。 –
我嘗試使用pre_get_posts,但沒有顯示任何帖子。我不知道爲什麼。對不起,我對PHP不太好,所以這個解釋很難理解。 –
沒問題,很高興聽到你已經嘗試過'pre_get_posts'。我認爲這只是一個讓你失敗的誤解。我會嘗試發佈解決方案。我從我的手機發帖,所以很難編碼。另外,我無法測試我代碼 –