2011-01-29 12 views
1

私のコードは、私は私のループワードプレスのページネーションは機能しませんか?

$arrangement = get_cat_ID('arrangement'); 
$antiquarianism = get_cat_ID('antiquarianism'); 

$paged = (get_query_var('page')) ? get_query_var('page') : 1; 

print_r($paged); 
$query = query_posts(array(

     'page' => intval($paged), 
'category__not_in' => array($arrangement, $antiquarianism))); 

前には、私が前に同様の問題があった。1.

答えて

1

を印刷するたびにページネーションのために、このコードを書かれている

です。残念ながら、それはいくつかの事柄になる可能性があります。

1つの可能性は、Wordpress 'loop'に関連してページクエリを処理することです。完全に現在のページ上のすべての既存のクエリ変数を上書きしますデフォルトで実行query_postsでは オリジナルクエリ(改ページなど)を保存

:私はちょうどquery_postsのドキュメントを読んだったと、これを発見しました。改ページ、カテゴリの日付などは失われ、query_postsに渡す変数のみが使用されます。

あなたがあなたのパラメータの配列に、元のクエリ配列をマージすることができ、元のクエリ保存する場合:私はこれがあなたに影響を与えるかはわからない

global $wp_query; 
query_posts(
    array_merge(
     array('cat' => 1), 
     $wp_query->query 
    ) 
); 

http://codex.wordpress.org/Function_Reference/query_posts

を、それはです価値のあるショット。

EDIT: 'the loop'が閉じた後(つまり、メインエンドの後)に別のget_postループを実行することもできます。これは、これは、それだけで「次へ」を示し、その後、次の私のフィルターに応じてポスト(というよりも何にリンクするように、私は、フロントページのために書いたいくつかのコードで過去

<?php 
// custom pagination improvements 
    //http://codex.wordpress.org/Template_Tags/get_posts 
    $lastposts = get_posts('numberposts=50&order=DESC&orderby=ID'); 
    setup_postdata($lastposts); 
    $valid_posts = array(); 
    $lastposts = (array) $lastposts; 
    foreach ($lastposts as $post) { 
     $post = (array) $post; 
     // Sort through arrays here - get the next valid post 
     switch (true) { 
      case ($post['post_status'] == 'publish' && $post['ID'] < $curr_pid[0]): 
       array_push($valid_posts, $post); 
       break; 
      default: 
       break; 
     } 
    } 
    $nextArray = $valid_posts[0]; 
?> 
<ul class="pagination"> 
    <li class="next"><a href="<?php echo(get_permalink($nextArray['ID'])); ?>"><?php echo ($nextArray['post_title']); ?></a></li> 
</ul> 

に私のための問題を解決しましたWordpressの考えは次に行くべきだ)。もちろん、foreachループを使って複数のリンクを数字でエコーすることもできます。これは少し複雑になりますが、ページ区切りで何が起こっているかを非常に細かく制御できます。

これは役立ちますか?

+1

yaa元のクエリと同じマージを試してみましたが、その代わりにすべての投稿を印刷しました – rajeshrt

+0

煩わしい!私は古いコードを見ています。私はこれをオリジナルの答えの編集として追加しました。これが何をするかは、ループが閉じられた後に2回目のget_postsを実行することです。ここでは、あなたが望むものだけを指定することができます。唯一の厄介なことは、複数のテンプレートにまたがってこれをミラーリングする必要があることです。プラグインを再利用する予定がある場合は、プラグインで貼り付けることを検討してください。 –

2

$pagedのvar_dumpを試しましたか?またはget_query_var('page')をここに示すようにリセットする:worpress support

関連する問題