Wordpress Search Result Pagination - не обновляющий контент - PullRequest
0 голосов
/ 26 ноября 2010

Я пытаюсь добавить нумерацию страниц в результаты поиска в WordPress.

Мне удалось найти некоторую информацию о том, как это сделать - http://codex.wordpress.org/Function_Reference/paginate_links

Но я столкнулся с проблемой, которую не могу объяснить.

Пагинация добавляется внизу страницы результатов поиска, и количество страниц меняется в зависимости от того, какой поисковый запрос я использую. Если вы нажмете следующую кнопку или выберете номер страницы, URL-адрес изменится, но результаты поиска не ...

Я могу отображать только первые 10 результатов на странице, даже если я нажму на страницу 4, страница обновится, но все равно будет отображаться исходные 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();
?>

Ответы [ 2 ]

1 голос
/ 26 ноября 2010

Вероятно, это зависит от вашего запроса и, возможно, вращается вокруг неправильного использования $ paged (не вижу ваш код)

Возможно, в вашем коде есть одно из двух улучшений:

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

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

(и больше обращений к http://wordpress.stackexchange.com ................)

0 голосов
/ 09 февраля 2011

Я был в поиске точно такого же, но не смог найти ничего, что предлагало бы простой шаблонный тег с семантически правильным выводом (ul), который хорошо работает для seo, поэтому я написал свой собственный: Easy Пагинация Деймон

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...