WordPress查询与分页

时间:2017-08-07 11:09:48

标签: php wordpress pagination

我需要你的帮助。我有一个自定义搜索引擎来搜索帖子类型分类中的产品:

if( isset($_POST['search_products'] ) {
    /// codes ....
    $_SESSION['ids'] = $my_ids;
    $args = array(
        'post_type' => 'product',
        'showposts' => -1,
        'post__in' => $_SESSION['ids']
    )
    $posts = new Wp_Query($args);
}

此查询输出约60个带分页的产品(每页10个产品),但当用户不使用搜索引擎访问该页面时,应显示所有产品。相反,$_SESSION仍然存在并仅显示以前的结果。

我只是希望在搜索时分页工作,并且在我不使用搜索引擎访问页面时显示所有产品。

任何Wordpress专家都有想法吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

if( isset($_POST['search_products'] ) {
    /// codes ....
    $_SESSION['ids'] = $my_ids;
    $args = array(
        'post_type' => 'product',
        'showposts' => -1,
        'post__in' => $_SESSION['ids']
    )
    $posts = new Wp_Query($args);
}
else {

$args = array(
        'post_type' => 'product',
        'showposts' => -1,
    )
    $posts = new Wp_Query($args);
}

简单地放一个else块

答案 1 :(得分:0)

CODE,

global $post;
$id   = intval($_GET['cat']);
$paged     = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$products  = new WP_Query( array( 
                                'post_type'      => 'products', 
                                'order'          => 'ASC',
                                'posts_per_page' => 5,
                                'paged'          => $paged
                         ) );
endwhile;

HTML,

<ul class="pagination pull-right">
 <li><?php echo get_next_posts_link( 'Next Page', $products->max_num_pages ); ?></li>
 <li><?php echo get_previous_posts_link( 'Previous Page' ); ?></li>
</ul>