3

これは簡単かもしれませんが、理解できません。私は自分の状況に運がなくても何時間も検索しました。my_query で動作するようにページネーションを取得する必要があります

    <?php   
    $count = 0;
    $id_suffix = 1;
    $items_per_row = 4;
    $quality = 90;      
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;             
    $wp_query = new WP_Query( array( 'posts_per_page' => '4', 'post_type' => 'portfolio') );
    $grid_class = 'grid_3';
    $desired_width = 220;
    $desired_height = 190;
    $terms = get_terms( 'portfolio_categories' ); 
    $count_terms = count( $terms ); 
?>

//some php code 

<?php while ( $wp_query -> have_posts()) : $wp_query -> the_post(); //query the "portfolio" custom post type for portfolio items ?>


//some more php code 


<?php endwhile;?>
<div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'thematic')) ?></div>
<div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'thematic')) ?></div>
</ul>

ページネーションを表示するようにしましたが、別のページをクリックすると、同じポートフォリオ アイテムが表示されます。どんな助けでも大歓迎です。

wp-pagenavi を使用して表示するページネーションを取得しましたが、アイテムを変更しないという同じ問題があります。

4

2 に答える 2

6

$paged変数を作成していますが、使用していません。

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;             
$wp_query = new WP_Query( 
  array( 
  'posts_per_page' => '4', 
  'post_type' => 'portfolio',
  'paged' => $paged // this is the missing part
) );

WordPress は$wp_query変数名を使用します。おそらく別のものを使用する必要があります。

于 2013-01-02T01:05:22.920 に答える
4

@ maiorano84 と @ s_ha_dum に正しい方向を教えてくれてありがとう。問題に遭遇した人のために、この投稿を更新したかったのです。私が抱えていた問題は、静的なフロントページでページネーションを機能させることでした。コーデックスを読んだ後、私は自分の問題を理解しました。

代わり$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
に使用する必要がありました
$paged = (get_query_var('page')) ? get_query_var('page') : 1;

その 1 つの小さな間違いが、ページネーションを機能させ続けた理由です。最終的なコードは次のようになりました。

<?php   
    $count = 0;
    $id_suffix = 1;
    $items_per_row = 4;
    $quality = 90;
    $paged = (get_query_var('page')) ? get_query_var('page') : 1;
    $my_query = new WP_Query( array( 
    'posts_per_page' => 8, 
    'post_type' => 'portfolio',
    'paged' => $paged
    ) );
    $grid_class = 'grid_3';
    $desired_width = 220;
    $desired_height = 190;
    $terms = get_terms( 'portfolio_categories' ); 
    $count_terms = count( $terms ); 
?>

// いくつかの php コード

<?php while ( $my_query -> have_posts()) : $my_query -> the_post(); //query the "portfolio" custom post type for portfolio items ?>


  (Some more php code)

<?php endwhile;
wp_pagenavi(array( 'query' => $my_query ) );    ?>
</ul><!-- END .portfolio-gallery -->

?>

于 2013-01-02T02:31:36.230 に答える