私は自分のwordpress検索結果に改ページを追加しようとしています。Wordpress検索結果ページ区切り - コンテンツを更新しません
私はこれを行う方法のいくつかの情報を見つけることができました - http://codex.wordpress.org/Function_Reference/paginate_links
しかし、私は説明できない問題に遭遇しました。
検索結果ページの下部に改行が追加されており、使用する検索語句によってページ数が変わります。次のボタンをクリックするか、ページ番号を選択するとURLは変わりますが、検索結果は表示されません。
ページ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 . ' ' . $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();
?>
ありがとうございます。あなたは私のコードを見ることができると思いますか?私は実際にwpループで遊んだことがないので、私が間違っていることを100%理解していません。 – Adam
はい。上記の最初のリンクを参照してください。query_postsを使用すると、カスタムクエリを作成できます。上に置くif(have_posts()) - >最初のリンクを見るhttp://wordpress.stackexchange.com/questions/2638/pagination-resolving-to-first-page-only – edelwater