2012-11-19 81 views
2

我在頁面上使用以下php代碼來顯示單個類別的每頁10個帖子。添加分頁是WordPress上的自定義存檔頁面(論文主題)

function my_page_of_posts5() { 
    if (is_page('10')) { 
     $custom_loop = new WP_Query('posts_per_page=10&cat=9'); 
     echo '<div class="my-archives"><ul class="archive-list">'; 
     if ($custom_loop->have_posts()) : 
      while ($custom_loop->have_posts()) : $custom_loop->the_post(); 
       echo '<li><a class="archive-link" href="' 
        . get_permalink() . '">' 
        . get_the_title() 
        . '</a> <span class="my-comment-count">('; 
       comments_number('0', '1', '%'); 
       echo ')</span></li>'; 
       the_excerpt(); 
      endwhile; 
      wp_reset_query(); 
     endif; 
     echo '</ul></div>'; 
    } 
} 
add_action('thesis_hook_after_content','my_page_of_posts5'); 

我使用的論文WordPress主題框架。

我想在頁面上顯示這些帖子後顯示分頁。

我應該在那裏放什麼代碼來顯示分頁?我試過使用WP-Paginate插件並把wp-paginate();功能在頁面上,但它不能正常工作。

需要另一種方法來整理它。

+0

根據你的賞金評論,插件是強制性的? –

+0

並非如此,只是假設我需要其中一個插件。沒有該插件的解決方案也將受到歡迎。 – Enthusiast

+0

我也不需要插件。只需要在這些頁面上工作的任何分頁解決方案。 –

回答

1

不知道更多關於你查詢的確切行爲是當您嘗試使用wp_paginate,最好的我可以建議是增加'paged=' . get_query_var('paged')WP_Query指定參數時,COMME CA:

$custom_loop = new WP_Query('posts_per_page=10&cat=9&paged=' . get_query_var('paged')); 

一旦你添加,wp_paginate可能適合你。

給它一個鏡頭!

UPDATE

好了,從一開始:

  1. 申報並抓住paged查詢VAR
  2. 使用它作爲參數在查詢
  3. 呼叫posts_nav_link以獲取必要的nav

您的整個片段應該像這樣工作:

function my_page_of_posts5() { 
    if (is_page('10')) { 
     $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // what page? if none, one 
     $custom_loop = new WP_Query('posts_per_page=10&cat=9&paged=' . $paged); 
     echo '<div class="my-archives"><ul class="archive-list">'; 
     if ($custom_loop->have_posts()) : while ($custom_loop->have_posts()) : $custom_loop->the_post(); 
      echo '<li><a class="archive-link" href="' . get_permalink() . '">' . get_the_title() . '</a> <span class="my-comment-count">('; 
      comments_number('0', '1', '%'); 
      echo ')</span></li>'; 
      the_excerpt(); 
      endwhile; 
      wp_reset_query(); 
     endif; 
    echo '</ul></div>'; 
    posts_nav_link(); // your next and previous links 
    } 
} 
add_action('thesis_hook_after_content','my_page_of_posts5'); 
+0

不適合我。看,我按照這個教程尋找頁面上的帖子:http://diythemes.com/thesis/rtfm/add-category-posts-on-a-page/ –

+1

你是否包含'posts_nav_link'?您可以將所有查詢結果進行分頁,但如果您無法找到它們,那就太不好了! – crowjonah

+0

我認爲這將工作正常。但我在哪裏把wp_paginate()函數? –

1

請嘗試使用此代碼,而不是現在替換它。
它增加了我總是使用的分頁功能,不需要額外的插件。易於定製。

<?php 
function my_page_of_posts5() { 
    if (is_page('10')) { 
     $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // what page? if none, one 
     $custom_loop = new WP_Query('posts_per_page=10&cat=9&paged=' . $paged); 
     echo '<div class="my-archives"><ul class="archive-list">'; 
     if ($custom_loop->have_posts()) : while ($custom_loop->have_posts()) : $custom_loop->the_post(); 
      echo '<li><a class="archive-link" href="' . get_permalink() . '">' . get_the_title() . '</a> <span class="my-comment-count">('; 
      comments_number('0', '1', '%'); 
      echo ')</span></li>'; 
      the_excerpt(); 
      endwhile; 
      wp_reset_query(); 
     endif; 
    echo '</ul></div>'; 
    theme_pagination(); 
    } 
} 
add_action('thesis_hook_after_content','my_page_of_posts5'); 

// based on http://www.kriesi.at/archives/how-to-build-a-wordpress-post-pagination-without-plugin 
function theme_pagination($pages = '', $range = 2) { 
    $showitems = ($range * 2)+1; 

    global $paged; 
    if(empty($paged)) $paged = 1; 

    if($pages == '') { 
     global $wp_query; 
     $pages = $wp_query->max_num_pages; 
     if(!$pages) { 
      $pages = 1; 
     } 
    } 

    if(1 != $pages) { 
     echo '<div class="pagination">'; 
     //if($paged > 1 && $showitems < $pages) 
      echo '<a href="'.get_pagenum_link($paged - 1).'" class="previous" >'; 
      echo _x('previous', 'paginate', THEME_L10n); 
      echo '<span>previouw-arrow</span></a>'; 

     for ($i=1; $i <= $pages; $i++) { 
      if (1 != $pages &&(!($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems)) { 
       if ($paged == $i){ 
        echo '<span class="current number">'.$i.'</span>'; 
       } else { 
        echo '<a href="'.get_pagenum_link($i).'" class="inactive number" >'.$i.'</a>'; 
       } 
      } 
     } 

     //if ($paged < $pages && $showitems < $pages) 
     echo '<a href="'.get_pagenum_link($paged + 1).'" class="next" ><span>next-arrow</span>'; 
     echo _x('next', 'paginate', THEME_L10n); 
     echo '</a>'; 
     echo "</div>\n"; 
    } 
} 
+0

這對我不起作用。我可能錯過了什麼? – Enthusiast

+0

是你的代碼和情況與問題中的代碼相同嗎? – janw

+0

是的,它是一樣的。 – Enthusiast

1

您可以嘗試在代碼在您的例子到底添加此分頁代碼:

//Set Blog Reading Settings to 10! 
global $wp_query; 
$big = 999999999; // need an unlikely integer 
echo paginate_links(array('base' => str_replace($big, '%#%', get_pagenum_link($big)), 
          'format' => '?paged=%#%', 
          'current' => max(1, get_query_var('paged')), 
          'total' => $wp_query->max_num_pages, 
          'end_size'=> 1, 
          'mid_size'=> 5)); 

代碼工作在正常免費的主題歸檔和分類頁面,而是一個你正在使用不是免費的,也不是開源的,所以很難預測結果。

我覺得帖子數量應該被刪除:

WP_Query('posts_per_page=10&cat=9') 
// Just leave it like this: 
WP_Query('cat=9') 

的原因是在WP每頁的職位數在閱讀設置配置。在查詢中放入數量可能會阻止分頁。不用說,必須有10個以上的分頁才能工作。

祝你好運!

+0

你好,這不管用。這種情況現在是一個痛苦,但感謝您的嘗試。 –

0

有一兩個可能的解決方案:

(I)。 解決方案#1:

我希望大家會認爲wp-pagenavi是這裏的最佳解決方案。它很容易整合到Thesis主題中。作爲論文主題的用戶,您已經在使用論文openhook插件。

現在只需按照步驟在論文主題中添加pagenavi

  • 打開外觀>論文Openhook
  • 找到之後內容
  • 只需將代碼粘貼到框中即可。 <?php cr_pagenavi(); ?>
  • 檢查在此鉤子上執行PHP並單擊保存。

(ii)。 溶液#2:所有的

1.首先我安裝了一個插件,它是Simple Pagination(及其字面上使用簡單)。如果您正在使用論文,請將這些代碼複製並粘貼在thesis_hook_after_content中並點擊保存。

<div class="pagination"> 
<?php wp_simple_pagination(); ?> 
</div> 

2.轉到您的custom_functions.php並粘貼此代碼刪除上一頁和下一頁後

function no_home_post_nav() { 
if (is_home()) 
    remove_action('thesis_hook_after_content', 'thesis_post_navigation'); 
} 
add_action('thesis_hook_before_content','no_home_post_nav'); 

看看你的新分頁自己的主頁上,並對其進行自定義以任何你想要的風格。

+0

好吧,我嘗試了他們兩個,這就是發生了什麼。解決方案1:這打破了頁面執行的其餘部分,因此編輯後的鉤子沒有出現。解決方案2:你可以在http://recruitmentjobs.co.uk/people-moves/上看到這個活動,因爲它只顯示一個說網頁和網頁不存在的div。無論如何,感謝您的嘗試。看起來這個問題沒有解決。 :( –

+0

對此有任何幫助嗎?已經有一段時間了。 –

相關問題