2016-10-19 12 views
1

カスタムポストタイプproductにページネーションを使用しても、カスタムポストタイプのカテゴリでは機能しません。例えば、ページ番号はhttp://localhost/wordpress/products/page/2/のためであり、このためではありません。http://localhost/wordpress/products/landscape/page/2/常にその最初のページコンテンツを表示しています。これを解決するには?私のコードは以下の通りです。カスタムポストタイプのカテゴリでページネーションが機能しない

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array('post_type' => 'product', 'posts_per_page' =>1,'taxonomy' =>'product_cat','term' => $cat_name1,'orderby'=>'post_date','page'=>$paged); 
$wp_query = new WP_Query($args); 
if($wp_query->have_posts()) : while ($wp_query->have_posts()): $wp_query->the_post(); 

<div class="product_list"> 
<?php the_title();?> 
</div> 
<?php endwhile; ?> 
<?php wp_pagenavi(array('query' => $wp_query));//plugin code ?> 
<?php else : ?> 
<!-- No posts found --> 
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> 
<?php echo "No Products found for this categoy!." ?> 
</div> 
<?php endif; ?> 
<?php wp_reset_query(); ?> 

答えて

2

これを試してみてください。 'tax_query' と 'ページング'

-replace '分類' と

-replace 'ページ' の引数。あなたの質問に

if (get_query_var('paged')) $paged = get_query_var('paged'); 
if (get_query_var('page')) $paged = get_query_var('page'); 
$taxonomy = 'product_cat'; 
$taxonomy_terms = get_terms($taxonomy, array(
    'hide_empty' => 0, 
    'fields' => 'ids' 
)); 


$args = array('post_type' => 'product', 'posts_per_page' =>1,'tax_query' => array(
     array(
      'taxonomy' => $taxonomy, 
      'field' => 'id', 
      'terms' => $taxonomy_terms, 
     ), 
    ),'orderby'=>'post_date','paged'=>$paged); 

、あなたは、次のコードを使用してください上場用語の$cat_name1を使用しています

:次のコードで wp_pagenavi()機能を交換してください

if (get_query_var('paged')) $paged = get_query_var('paged'); 
if (get_query_var('page')) $paged = get_query_var('page'); 
$taxonomy = 'product_cat'; 

$args = array('post_type' => 'product', 'posts_per_page' =>1,'tax_query' => array(
     array(
      'taxonomy' => $taxonomy, 
      'field' => 'id', 
      'terms' => $cat_name1, 
     ), 
    ),'orderby'=>'post_date','paged'=>$paged); 

をページネーションを

$big = 999999999; // need an unlikely integer echo paginate_links(array( 'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 'format' => '/page/%#%', 'current' => max(1, $paged), 'total' => $wp_query->max_num_pages )); 
+0

@ vr ajesh hi私は 'tax_query'で試しましたが、次のページの内容は表示していません。ページネーションは次のページのリンクを表示しますが、次のページのコンテンツは取得しません。 – Amiyar

+0

実際に '$ cat_name1 = 'landscape''そのIDはありません – Amiyar

+0

大丈夫です、' landscape 'は用語のスラッグですか? @Amith – vrajesh

関連する問題