首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Wordpress中使用WP_Query进行自定义类别查询后丢失分页

在Wordpress中使用WP_Query进行自定义类别查询后丢失分页
EN

Stack Overflow用户
提问于 2015-02-18 13:28:13
回答 3查看 984关注 0票数 0

在Wordpress中构建我的第一个自定义主题,并且我进行了一个自定义查询,以便在自定义类别页面上只显示一个类别

使用:category= new WP_Query(“category_name=深度思考页面”);

我不再有分页功能。我的查询完美地为我的帖子创建了一个自定义的分类页面,标签为‘deep-thoughts page’,它也可以完美地应用于其他任何地方。

我理解这个查询,我喜欢这个查询,它是有效的,我只需要我的分页。

注意:我正在使用wp-admin面板来限制每页的帖子数量(这对我的查询很好),但我仍然丢失了分页。

请帮助:)

EN

回答 3

Stack Overflow用户

发布于 2015-02-18 13:34:06

我认为你在wp_query中定义了错误,而不是类别名称,你应该在上面应用类别id。然后它将为您工作,并将分页应用到类别页面。

请看下面的代码,它将为您使用。$query = new WP_Query( 'cat=1,2,3,4,5&posts_per_category=5' );

票数 0
EN

Stack Overflow用户

发布于 2015-02-18 13:38:32

这对你有用吗?

代码语言:javascript
运行
复制
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$cat_posts->query( 'showposts=10&category_name=deep-thoughts-page&paged='.$paged );

在您的页面实现中,如果您需要重新构建分页,您可以这样做:

代码语言:javascript
运行
复制
<?php
while ($cat_posts->have_posts()) : $cat_posts->the_post();

    // display the posts...

endwhile;

// Now rebuild the pagination
?>

<?php if ($cat_posts->max_num_pages > 1) : ?>
    <div class="pager">

        <?php if ($paged > 1) : ?>
            <a href="<?php echo get_category_link($category_id).'page/1'; ?>">Previous</a>
        <?php endif; ?>

        <?php for ($i=1; $i<=$cat_posts->max_num_pages; $i++) : ?>
            <a href="<?php echo get_category_link($category_id).'page/'.$i;?>" <?php echo ($paged==$i)? 'class="active"':'';?>><?php echo $i;?></a>
        <?php endfor; ?>

        <?php if ($paged != $cat_posts->max_num_pages) : ?>
            <a href="<?php echo get_category_link($category_id).'page/'.$i; ?>">Next</a>
        <?php endif; ?>
    </div>
<?php endif; ?>
票数 0
EN

Stack Overflow用户

发布于 2015-02-18 13:51:09

嘿,使用下面的代码,你可以很容易地创建一个分页。

代码语言:javascript
运行
复制
if ( !function_exists( 'matword_pagination' ) ) :
/**
* Add number paggination
**/
function matword_pagination() {

    $prev_arrow = is_rtl() ? '&rarr;' : '&larr;';
    $next_arrow = is_rtl() ? '&larr;' : '&rarr;';

    global $wp_query;
    $total = $wp_query->max_num_pages;
    $big = 999999999; // need an unlikely integer
    if( $total > 1 )  {
         if( !$current_page = get_query_var('paged') )
             $current_page = 1;
         if( get_option('permalink_structure') ) {
             $format = 'page/%#%/';
         } else {
             $format = "&paged=%#%";
         }
        echo paginate_links(array(
            'base'          => htmlspecialchars_decode(  str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ) ),
            'format'        => $format,
            'current'       => max( 1, get_query_var('paged') ),
            'total'         => $total,
            'mid_size'      => 3,
            'type'          => 'list',
            'prev_text'     => $prev_arrow,
            'next_text'     => $next_arrow,
         ) );
    }
}
endif;

只需将此代码添加到functions.php文件中,然后调用"matword_pagination()“函数,您就可以在其中显示分页。

有关更多详细信息,请阅读this article.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28576594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档