2016-10-27 1 views
1

私はこれを今ではしばらく解決しようとしていましたが、成功しませんでした。私は他の同様の記事を読んだが、彼らは私のために働いていない。Wordpress WP-PageNaviがカスタムクエリで動作しない

正しい結果が表示され、ページが表示されるカスタムクエリを作成しましたが、ページ2などをクリックすると、URLはそれに応じて変更されますが、同じ投稿が残ります。

$sale_properties = new WP_Query(array(
'post_type'   => 'properties', 
'meta_key'   => $nvr_initial.'_price', 
'meta_value'  => $nvr_price, 
'orderby'   => 'meta_value_num', 
'order'    => 'DESC', 
'paged'    => get_query_var('page'), 
'meta_query' => array(
       array('key' => $nvr_initial.'_status', 
        'value' => array('For Sale'),),),)); 

と私の他のコードは次のとおりです:

私のカスタムクエリは、ページング

<?php /* Display navigation to next/previous pages when applicable */ ?> 
<?php if ( $sale_properties->max_num_pages > 1) : ?> 
<?php if(function_exists('wp_pagenavi')) { ?> 
    <?php wp_pagenavi(array('query' => $sale_properties)); ?> 
<?php }else{ ?> 
    <div id="nav-below" class="navigation"> 
      <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&larr;</span> Previous', THE_LANG)); ?></div> 
      <div class="nav-next"><?php previous_posts_link(__('Next <span class="meta-nav">&rarr;</span>', THE_LANG)); ?></div> 
    </div><!-- #nav-below --> 
<?php }?> 
<?php endif; wp_reset_query();?> 

私が試したページ、および:

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

誰かが私を助けてもらえそれが私を夢中にしてくれるから。

$sale_properties = new WP_Query(array(
'post_type'   => 'properties', 
'meta_key'   => $nvr_initial.'_price', 
'meta_value'  => $nvr_price, 
'orderby'   => 'meta_value_num', 
'order'    => 'DESC', 
'paged'    => get_query_var('page'), 
'meta_query' => array(
       array('key' => $nvr_initial.'_status', 
        'value' => array('For Sale'),),),)); 

$sale_properties = new WP_Query(array(
'post_type'   => 'properties', 
'meta_key'   => $nvr_initial.'_price', 
'meta_value'  => $nvr_price, 
'orderby'   => 'meta_value_num', 
'order'    => 'DESC', 
'paged'    => get_query_var('paged'), 
'meta_query' => array(
       array('key' => $nvr_initial.'_status', 
        'value' => array('For Sale'),),),)); 

またはクエリの上

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

を入れて、$を渡し:種類は、コードの下にページインして

S

答えて

1

交換するページについてPAクエリの変数でged変数

get_query_var('page'), 

期待しています。

EDIT:

Wordpressの標準的な方法:上に

場所:

$big = 999999999; 
    $current_page = get_query_var('paged', 1); 
    $args = array(
        //your query arguments 
        'paged' => $current_page 
      ); 
    $my_query = new WP_Query($args); 

以下のような用途ループ:

while ($my_query->have_posts()) : $my_query->the_post(); 
// your code 
endwhile; 

その後、

echo paginate_links(array(
          'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 
          'format' => '?paged=%#%', 
          'current' => max(1, get_query_var('paged')), 
          'total' => $my_query->max_num_pages 
          )); 

ページングを印刷する場所。

+0

応答がありますが、同じ投稿が読み込まれます。 URLは2ページだと言いますが、ページ番号はまだ1になっています – user4572969

+0

私の検索結果は$ wp_queryを使用しており、ページネーションはうまく機能します – user4572969

+0

あなたは解決しましたか、何かを確認する必要がありますか? –

0

functions.phpファイルに私のカスタムwpクエリがありました。それを私のカスタムページテンプレートに移動した後、それは働いた

$sale_properties = new WP_Query(array(
'post_type'   => 'properties', 
'meta_key'   => $nvr_initial.'_price', 
'meta_value'  => $nvr_price, 
'orderby'   => 'meta_value_num', 
'order'    => 'DESC', 
'paged'    => get_query_var('paged'), 
'meta_query' => array(
       array('key' => $nvr_initial.'_status', 
        'value' => array('For Sale'),),),)); 
関連する問題