2010-11-26 19 views
0

J'essaie d'ajouter une pagination à mes résultats de recherche wordpress.Wordpress Résultat de la recherche Pagination - pas de contenu rafraîchissant

j'ai pu trouver des informations sur la façon de le faire - http://codex.wordpress.org/Function_Reference/paginate_links

Mais j'ai rencontré un problème que je ne peux pas expliquer. La pagination est ajoutée au bas de la page de résultats de recherche et le nombre de pages change en fonction du terme de recherche que j'utilise. Si vous cliquez sur le bouton suivant ou sélectionnez un numéro de page, l'url change mais les résultats de recherche ne sont pas ...

Je ne peux afficher les 10 premiers résultats que sur la page, même si je clique sur la page 4 , la page sera actualisée mais elle affichera toujours les 10 résultats d'origine.

Est-ce que quelqu'un sait comment je pourrais résoudre ce problème?

Voici mon code

<?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(); 
?> 

Répondre

1

Cela dépend probablement de votre requête et il tourne probablement autour de ne pas utiliser correctement l'paginée $ (ne peux pas voir votre code)

Vous avez probablement l'un des 2 amélioration être fait dans votre code:

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

OU: https://wordpress.stackexchange.com/questions/4368/authors-list-pagination-result-set-from-wpdb-get-results/4370#4370

(et plus de hits sur http://wordpress.stackexchange.com ................)

+0

Merci pour votre contribution. Pensez-vous que vous pourriez jeter un oeil à mon code ... Je ne comprends pas vraiment à 100% ce que je fais mal car je n'ai jamais vraiment joué avec la boucle wp. – Adam

+0

oui. voir le premier lien ci-dessus, avec query_posts vous pouvez faire une requête personnalisée. placer au-dessus de if (has_posts()) -> voir le premier lien http://wordpress.stackexchange.com/questions/2638/pagination-resolving-to-first-page-only – edelwater

0

j'étais sur la recherche exactement la même chose, mais ne pouvait pas trouver quelque chose qui a offert une balise simple avec une sortie sémantiquement correcte (ul) qui fonctionne bien pour seo, donc j'ai écrit mon propre: Easy Pagination Deamon