2010-11-26 77 views
0

我想添加分頁到我的WordPress的搜索結果。WordPress的搜索結果分頁 - 不刷新內容

我能夠找到關於如何做到這一點的一些信息 - http://codex.wordpress.org/Function_Reference/paginate_links

但我碰到的,我無法解釋一個問題。

分頁正被添加到搜索結果頁面的底部,並且頁面數量根據我使用的搜索字詞而變化。如果您點擊下一個按鈕或選擇一個頁碼,網址會更改,但搜索結果不會...

即使點擊第4頁,我也只能在頁面上顯示前10個結果,頁面將刷新,但仍顯示原始的10個結果。

有誰知道我該如何解決這個問題?

這裏是我的代碼

<?php 
get_header(); 

iinclude_page(608); ?> 

<li id="search"> 
<form id="searchform" method="get" action="<?php bloginfo('home'); ?>"> 
    <div style="text-align:center; margin:20px 0 25px 0;"> 
     <label style="font-weight:bold;" for="s"><?php _e('Search Database:'); ?></label> <input type="text" name="s" id="s" size="20" /> <?php $args = array('hide_empty'=>0,'depth'=>2,'hierarchical'=> 1,); 
wp_dropdown_categories($args); ?> <input type="submit" value="<?php _e('Search'); ?>" /> 
    </div> 
    </form> 
</li> 
<hr /> 
<?php 
if (have_posts()): ?> 
<?php 
while (have_posts()) : the_post(); ?> 
<li class="postWrapper" id="post-<?php the_ID(); ?>"> 

<h3 class="entry-title"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3> 
<div id="postdata"> 
<div class="search-content"> 
<?php the_excerpt(__('<p>Read More ></p>')); ?> 
</div> 

<div class="entry-meta"> 
<?php 
    $view_in_browser = '<a class="google-viewer" href="http://docs.google.com/viewer?url='.$attachment_url.'">View document in browser</a>'; 
    $download = '<a class="download" href="'.$attachment_url.'">Download PDF</a>'; 
    echo $view_in_browser . '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $download; 
?> 
</div> 

</div> 
<hr /> 
</li> 
<?php endwhile; ?> 

<?php 
global $wp_rewrite;   
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1; 

$pagination = array(
    'base' => @add_query_arg('page','%#%'), 
    'format' => '', 
    'total' => $wp_query->max_num_pages, 
    'current' => $current, 
    'show_all' => true, 
    'type' => 'plain', 
    ); 

if($wp_rewrite->using_permalinks()) 
    $pagination['base'] = user_trailingslashit(trailingslashit(remove_query_arg('s',get_pagenum_link(1))) . 'page/%#%/', 'paged'); 

if(!empty($wp_query->query_vars['s'])) 
    $pagination['add_args'] = array('s'=>get_query_var('s')); 

echo paginate_links($pagination);  
?> 

<?php else: ?> 
<h3 style="text-align:center; font-weight:bold; color:#333;"><?php _e('Sorry, no posts matched your criteria.'); ?></h3> 
<p style="text-align:center">Please try Searching anohter term.</p> 
<?php 
endif; 
?> 
<?php if (will_paginate()): ?> 
<?php endif; ?> 
<?php 
get_footer(); 
?> 

回答

1

這可能取決於您的查詢,它可能圍繞不正確使用尋呼的$(無法看到您的代碼)

也許你有2個改進之一

參見:https://wordpress.stackexchange.com/questions/2638/pagination-resolving-to-first-page-only

OR:在你的代碼進行https://wordpress.stackexchange.com/questions/4368/authors-list-pagination-result-set-from-wpdb-get-results/4370#4370

(和http://wordpress.stackexchange.com更多的點擊................)

+0

感謝您的意見。你認爲你可以看看我的代碼...我真的不明白我做錯了什麼,因爲我從來沒有玩過wp循環。 – Adam 2010-11-26 21:13:27

0

我在搜索一模一樣,但無法找到任何東西,提供了一個簡單的模板標籤與語義正確的輸出(ul),適用於seo,所以我寫了我自己的:Easy Pagination Deamon