0

すべてのイベントを取得するための単純な wpquery を作成しました。次に、「if」条件を使用して、イベントが今日開始するかどうかを確認し、開始する場合はタイトル ポストを表示します。ループの結果に基づいてページネーションを作成する方法がわからないため、私の問題はページネーションにあります。

 if ( get_query_var('paged') ) { $paged = get_query_var('paged'); }
 elseif ( get_query_var('page') ) { $paged = get_query_var('page'); }
 else { $paged = 1; }

 $args = array(
'post_type' => 'events',
'posts_per_page' => '5',
'order' => 'ASC',
'paged' => $paged   
 );

 query_posts($args); 

if ( have_posts() ) while ( have_posts() ) : the_post();
    $event_start = get('event_start');

    // if the event start is today show the title post
    if($event_start == date('d.m.Y')){
       the_title();
    }
endwhile;
// PROBLEM: show the pagination for all events
wp_pagenavi();
4

1 に答える 1

0

WP_Queryを使用し、カスタムフィールドパラメーターを使用して、関連する結果のみを取得します。このように、ページネーションは直接機能し、不要な投稿を取得してループすることはありません。

補足として、query_postsを使用すべきでない理由についてもこの回答が役立つ場合があります。

于 2012-12-14T11:29:03.207 に答える