2014-09-26 68 views
0

我正在使用下面的一段php來獲取頁面以顯示其子頁面的內容。 我只想顯示前10個結果,然後顯示'顯示更多'按鈕。 我試圖通過post_excerpt(L6)替換post_content,但沒有奏效。我錯過了什麼?在wordpress中的幾個頁面上顯示get_pages結果

<?php 
    $mypages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc')); 

    foreach($mypages as $page) {  
     $content = $page->post_content; 
     if (! $content) // Check for empty page 
      continue; 

     $content = apply_filters('the_content', $content); 
    ?> 
     <h2><a href="<?php echo get_page_link($page->ID); ?>"><?php echo $page->post_title; ?></a></h2> 
     <div class="entry"><?php echo $content; ?></div> 
    <?php 
    } 
?> 
+0

有你試過通過for循環運行它,並將循環的長度設置爲10?或者,如果數據以頁面數組的形式返回,則使用array_slice?不知道我是否理解你的問題。 – 2014-09-26 19:59:59

+0

嗯,但在這種情況下,我將結果限制在前10個結果中,但沒有顯示其餘結果的按鈕,不是? – mrtnmgs 2014-09-26 20:52:12

回答

0

你需要告訴get_pages你想要的頁碼。然而,看着the get_pages documentation我沒有看到任何明確的頁碼參數;相反,我懷疑你會想要offset參數。考慮嘗試:

$mypages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc', 'offset' => ($posts_per_page * $paged))); 

'offset' => ($posts_per_page * ($page_number - 1))計算乘以針對您提供總得$page_number全球$posts_per_page(在您的閱讀設置中定義)。由於您要從指定的點開始,因此頁碼會減1;如果每頁有10篇文章,並且希望從第二頁開始,那麼您希望顯示的第一篇文章是索引#10(使用零索引列表),並通過#19進行展示。

你如何選擇,以確定被請求的頁面是留給你的自由裁量權,但其中一個方案是提供一個查詢字符串參數(如pagenumber=3)和引用,通過聲明呼籲get_pages前:

$page_number = is_numeric($_GET['pagenumber']) ? $_GET['pagenumber'] : 0) 
+0

謝謝賈斯汀。我沒有試圖在頁面中分割結果,然後調用特定的結果。我創建的頁面非常長,加載時間是一個問題。我試圖僅顯示部分結果,然後允許用戶單擊頁面底部的按鈕以查看更多內容。 – mrtnmgs 2014-09-28 14:47:26