2017-07-06 4 views
0

私のページは1ページあたり9個の結果があり、1-5のページ番号を示しています。私の問題は、検索した結果が1つまたは少数のエントリ結果である場合、どのようにページ番号を隠すことができますか?ページの結果が1つまたは少数しかない場合、ページネーションを非表示にするにはどうすればよいですか?

申し訳ありませんすべてのコードを掲載することはありません。

sidebar.php

<div class="side-box-select cf"> 
<div class="side-select"> 
<select name="unit_size_x" class="side-box__select"> 
    <option value="0" selected>Minimum</option> 
    <option value="10">10sqm</option> 
    <option value="20">20sqm</option> 
    <option value="30">30sqm</option> 
    <option value="40">40sqm</option> 
    <option value="50">50sqm</option> 
    <option value="60">60sqm</option> 
    <option value="70">70sqm</option> 
    <option value="80">80sqm</option> 
    <option value="90">90sqm</option> 
    <option value="100">100sqm</option> 
</select> 
</div> 
<div class="side-select"> 

<select name="unit_size_y" class="side-box__select"> 
    <option value="10">10sqm</option> 
    <option value="20">20sqm</option> 
    <option value="30">30sqm</option> 
    <option value="40">40sqm</option> 
    <option value="50">50sqm</option> 
    <option value="60">60sqm</option> 
    <option value="70">70sqm</option> 
    <option value="80">80sqm</option> 
    <option value="90">90sqm</option> 
    <option value="100">100sqm</option> 
    <option value="101" selected>Maximum</option> 

</select> 
</div> 

search.php

$metaquerysp[] = array(
'key'=>'unit_size', 
'value'=>array($unit_size_x, $unit_size_y), 
'compare'=>'BETWEEN', 
'type'=>'NUMERIC', 
); 
<?php 
    $paged = get_query_var('paged') ? get_query_var('paged') : 1; 
    $args = array(
    'post_type' => 'property', 
    'posts_per_page' => 9, 
    'orderby' => 'DATE', 
    'paged' => $paged, 
    'meta_query' => $metaquerysp 
    );?> 
+0

1ページに9個の投稿があるようです。したがって、結果が9つ以下であるかどうかを確認してから、その結果を隠すようにしてください。 – Qirel

+0

あなたのコードをwhileループで編集してください。正確な答えを返します。 –

+0

投稿が9より多いかどうかを確認して、ページネーションが表示されているかどうかを確認できます。 –

答えて

0

うまくいけば、これは意味を行います。クエリによって返された投稿数は$query->post_countを確認してください。

$paged   = get_query_var('paged') ? get_query_var('paged') : 1; 
// Posts per page 
$posts_per_page = 9; 
// Should pagination show (default yes) 
$pagination  = true; 

$args = array(
    'post_type' => 'property', 
    'posts_per_page' => $posts_per_page, 
    'orderby' => 'DATE', 
    'paged' => $paged, 
    'meta_query' => $metaquerysp 
); 

// Run query 
$query = new WP_Query($args); 

// If query has less than $posts_per_page results, no pagination 
if($query->post_count<$posts_per_page) { 
    $pagination = false; 
} 

// The loop 
if($query->have_posts()) { 
    while($query->have_posts()) { 
     $query->the_post(); 

     // Stuff 
    } 
} 

if($pagination) { 
    // show pagination 
} 
関連する問題