2016-08-28 70 views
2

我一直在試圖顯示我的WordPress的自定義帖子類型的下一頁和上一頁。但鏈接不生成。我做錯了什麼?分頁next_posts_link()和previous_posts_link()不工作在WordPress的自定義帖子類型

這裏是我的代碼:

<?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $video = array('post_type' => 'e_tv', 'posts_per_page' => 1,'order' => 'ASC', 'paged' => $paged); 
    $tv_query = new WP_Query($video); 
    while ($tv_query->have_posts()) : $tv_query->the_post(); 
    ?> 
    <!--video1--> 
    <section class="e_tv"> 
     <h4><?php the_title()?></h4> 
     <?php the_content(); ?> 
    </section> 
    <!--/video1--> 



     <?php 
    endwhile; 
    ?> 
    <div class="e_sep"></div> 

    <section class="e_nxtprev"> 
     <div class="e_next"><?php previous_posts_link('%link', 'PREVIOUS PAGE', $tv_query->max_num_pages) ?></div> 
     <div class="e_prev"><?php next_posts_link('%link', 'NEXT PAGE', $tv_query->max_num_pages) ?></div> 
    </section> 

你的幫助是極大的讚賞!

回答

0

居然發現我的錯誤我自己......所以共享它在細節以供將來參考:

我一直在使用next_posts_link()previous_posts_link()功能與參數錯誤整個時間了,甚至沒有人通知這個。

next_posts_link()支持兩個參數爲:$label$max_pagesprevious_posts_link()只支持一個參數,即:$label,你可以看到我用三個參數來代替,這是這些功能出現故障的主要原因。

所以正確的代碼是:

<?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $video = array('post_type' => 'e_tv', 'posts_per_page' => 1,'order' => 'ASC', 'paged' => $paged); 
    $tv_query = new WP_Query($video); 
    while ($tv_query->have_posts()) : $tv_query->the_post(); 
    ?> 
    <!--video1--> 
    <section class="e_tv"> 
     <h4><?php the_title()?></h4> 
     <?php the_content(); ?> 
    </section> 
    <!--/video1--> 



     <?php 
    endwhile; 
    ?> 
    <div class="e_sep"></div> 

    <section class="e_nxtprev"> 
     <?php posts_nav_link(); ?> 
     <div class="e_next"><?php previous_posts_link('PREVIOUS PAGE') ?></div> 
     <div class="e_prev"><?php next_posts_link('NEXT PAGE', $tv_query->max_num_pages) ?></div> 
    </section> 

參考文獻:next_posts_link()previous_posts_link()

希望這將有助於在未來的像我這樣的傢伙...

1

使用「頁面」,而不是「分頁」給出了答案如果查詢位於靜態首頁上,如

$paged = (get_query_var('page')) ? get_query_var('page') : 1; 
    $video = array('post_type' => 'e_tv', 'posts_per_page' => 1,'order' => 'ASC', 'paged' => $paged); 

並嘗試使用

<?php 

echo get_next_posts_link('Older Entries', $tv_query->max_num_pages); 
echo get_previous_posts_link('Newer Entries'); 
?> 
+0

使它成爲'page'而不是'paged'對我來說不起作用... – Omer

相關問題