2016-04-29 9 views
0

のために表示されていない私は、カスタムページネーションを構築するためにコードスニペットを使用していますカスタムページネーションは、カスタムポストタイプのページ

<?php 
if (! function_exists('procare_paging_nav')) : 
/** 
* Display navigation to next/previous set of posts when applicable. 
* 
* @return void 
*/ 
function procare_paging_nav() { 
    // Don't print empty markup if there's only one page. 
    if ($GLOBALS['wp_query']->max_num_pages < 2) { 
     return; 
    } 

    $paged  = get_query_var('paged') ? intval(get_query_var('paged')) : 1; 
    $pagenum_link = html_entity_decode(get_pagenum_link()); 
    $query_args = array(); 
    $url_parts = explode('?', $pagenum_link); 

    if (isset($url_parts[1])) { 
     wp_parse_str($url_parts[1], $query_args); 
    } 

    $pagenum_link = remove_query_arg(array_keys($query_args), $pagenum_link); 
    $pagenum_link = trailingslashit($pagenum_link) . '%_%'; 

    $format = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos($pagenum_link, 'index.php') ? 'index.php/' : ''; 
    $format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit('page/%#%', 'paged') : '?paged=%#%'; 

    // Set up paginated links. 
    $links = paginate_links(array(
     'base'  => $pagenum_link, 
     'format' => $format, 
     'total' => $GLOBALS['wp_query']->max_num_pages, 
     'current' => $paged, 
     'mid_size' => 2, 
     'add_args' => array_map('urlencode', $query_args), 
     'prev_text' => '<i class="fa fa-chevron-left"></i>', 
     'next_text' => '<i class="fa fa-chevron-right"></i>', 
     'type'  => 'list', 
    )); 

    if ($links) : 

    ?> 
    <nav class="navigation paging-navigation" role="navigation"> 
     <?php echo $links; ?> 
    </nav><!-- .navigation --> 
    <?php 
    endif; 
} 
endif; 
?> 

私は、ブログの記事のための機能を使用し、ページネーションはhome.phpページの登場。 しかし、私のカスタム投稿の種類のページにはページ番号が表示されません。 私は 'ervaringen'というカスタム投稿タイプを作成しました。

そして、私のページ-ervaringen.phpで

<?php 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

$partnersLoop = new WP_Query(array('post_type' => 'ervaringen', 'orderby' => 'post_id', 'posts_per_page' => 10, 'paged' => $paged)); 

while($partnersLoop->have_posts()): $partnersLoop->the_post();   
?> 

<div class="post press-photo"> 
     <div class="image"> 
      <?php the_post_thumbnail(); ?> 
     </div><!-- image --> 
     <div class="content"> 
      <h5><?php the_title(); ?></h5> 
      <p><?php the_excerpt(); ?></p> 
     </div><!-- content --> 
</div><!-- .press-photo --> 

<?php endwhile; ?> 

<?php procare_paging_nav(); ?> 
<?php wp_reset_query(); ?> 

だから、誰もが私は私のカスタム投稿ページにページネーションをしないのですことを間違ってやっている何を言うことによって私を助けることができるかどうか。

ではなく、グローバルクエリを使用しての引数としてカスタムクエリを渡す機能を変更する:。私は試してみましたし、私のために動作しませんでした、他にどのようなソリューション

<?php 

if (! function_exists('procare_paging_nav')) : 

function procare_paging_nav($partnersLoop) { 


    // Don't print empty markup if there's only one page. 
    if ($partnersLoop->max_num_pages < 2) { 
     return; 
    } 

    $paged  = get_query_var('paged') ? intval(get_query_var('paged') 

    $pagenum_link = html_entity_decode(get_pagenum_link()); 
    $query_args = array(); 
    $url_parts = explode('?', $pagenum_link); 

    if (isset($url_parts[1])) { 
     wp_parse_str($url_parts[1], $query_args); 
    } 

    $pagenum_link = remove_query_arg(array_keys($query_args), $pagenum_link); 
    $pagenum_link = trailingslashit($pagenum_link) . '%_%'; 

    $format = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos($pagenum_link, 'index.php') ? 'index.php/' : ''; 
    $format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit('page/%#%', 'paged') : '?paged=%#%'; 

    // Set up paginated links. 
    $links = paginate_links(array(
     'base'  => $pagenum_link, 
     'format' => $format, 
     'total' => $partnersLoop->max_num_pages, 
     'current' => $paged, 
     'mid_size' => 2, 
     'add_args' => array_map('urlencode', $query_args), 
     'prev_text' => '<i class="fa fa-chevron-left"></i>', 
     'next_text' => '<i class="fa fa-chevron-right"></i>', 
     'type'  => 'list', 
    )); 

    if ($links) : 

    ?> 
    <nav class="navigation paging-navigation" role="navigation"> 
     <?php echo $links; ?> 
    </nav><!-- .navigation --> 
    <?php 
    endif; 
} 
endif; 
?> 

とページervaringen.phpでお時間を

procare_paging_nav($partnersLoop); 

感謝。

+0

変更 'posts_per_page' => -1としてみてください –

+0

はすでにやりました。しかし、それは解決せず、同じページにすべての投稿を表示しました。 –

+1

サイドノート(あなたが探している修正ではありません)翻訳可能なテキストの代わりにアイコンのマークアップを渡すだけなので、prev_text/next_textの引数の周りで '__()'を使う必要はありません。 –

答えて

0

ソリューションは、グローバルクエリを使用する代わりに、カスタムクエリを引数として渡すことでした。

私もこのソリューションを試しましたが、リンクセクションのグローバルクエリをカスタムフィールドに置き換えていないため、結果が得られませんでした。

おかげ@lucasからの助けのビットを取得した後、問題を解決しました。

ここに解決策があります。将来誰かを助けるかもしれないなら。

procare_paging_nav($partnersLoop); 

カスタムページネーション機能ページervaringen.phpで

<?php 
if (! function_exists('procare_paging_nav')) : 
/** 
* Display navigation to next/previous set of posts when applicable. 
* 
* @return void 
*/ 
function procare_paging_nav($partnersLoop) { 


    // Don't print empty markup if there's only one page. 
    if ($partnersLoop->max_num_pages < 2) { 
     return; 
    } 

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


    $pagenum_link = html_entity_decode(get_pagenum_link()); 
    $query_args = array(); 
    $url_parts = explode('?', $pagenum_link); 

    if (isset($url_parts[1])) { 
     wp_parse_str($url_parts[1], $query_args); 
    } 

    $pagenum_link = remove_query_arg(array_keys($query_args), $pagenum_link); 
    $pagenum_link = trailingslashit($pagenum_link) . '%_%'; 

    $format = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos($pagenum_link, 'index.php') ? 'index.php/' : ''; 
    $format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit('page/%#%', 'paged') : '?paged=%#%'; 

    // Set up paginated links. 
    $links = paginate_links(array(
     'base'  => $pagenum_link, 
     'format' => $format, 
     'total' => $partnersLoop->max_num_pages, 
     'current' => $paged, 
     'mid_size' => 2, 
     'add_args' => array_map('urlencode', $query_args), 
     'prev_text' => '<i class="fa fa-chevron-left"></i>', 
     'next_text' => '<i class="fa fa-chevron-right"></i>', 
     'type'  => 'list', 
    )); 

    if ($links) : 

    ?> 
    <nav class="navigation paging-navigation" role="navigation"> 
     <?php echo $links; ?> 
    </nav><!-- .navigation --> 
    <?php 
    endif; 
} 
endif; 
?>