Wordpress自定义帖子类型分页404第2页

时间:2014-05-23 10:13:54

标签: wordpress pagination http-status-code-404 custom-post-type

我是新手,我正在努力开发我的第一个主题。

不幸的是,我遇到了自定义帖子类型(projet)的一些麻烦。我尝试过关于这个主题的不同组合(query_post,WP_Query,flush permalinks等),但似乎没有一个对我有用。

我尝试使用插件wp_pagenavi。

这是我的注册帖子类型,在function.php中:

register_post_type('projet', array(
    'label' => __('Réalisations'),
    'singular_label' => __('Projet'),
    'public' => true,
    'show_ui' => true,
    'rewrite' => array('slug' => 'international/realisations', 'with_front' => true),
    'hierarchical' => false,
    'has-archive' => true,
    'query_var' => true,
    'supports' => array('title', 'excerpt', 'editor', 'thumbnail', 'page-attributes')
));

以下是模板中列出我的自定义帖子类型“projet”的代码:

 <ul id="list-projets" class="grid cs-style-7">
        <?php if ( get_query_var('paged') ) {
            $paged = get_query_var('paged');
        } else if ( get_query_var('page') ) {
            $paged = get_query_var('page');
        } else {
            $paged = 1;
        } ?>
            <?php
            $args= array(
                        'showposts' => 2,
                        'posts_per_page' => 2,
                        'post_type'  => 'projet',
                        'paged' => $paged
                        );
            $the_query = new WP_Query($args);

            if ($the_query->have_posts()): while ($the_query->have_posts()) : $the_query->the_post(); ?> 

              <li>
                    <figure>
                        <?php the_post_thumbnail(); ?>
                        <h3><?php the_title(); ?></h3>
                        <figcaption>
                            <span><?php echo get_the_excerpt(); ?></span>
                            <a href="<?php the_permalink(); ?>">+ de détails</a>
                        </figcaption>
                    </figure>
                </li>

            <?php endwhile; ?>    
            <?php endif; 
            wp_reset_query(); ?>
            <nav>
                <?php wp_pagenavi( array( 'query' => $the_query ) ); ?>
            </nav>
    </ul>

目前此代码列出了最后一个自定义帖子类型“projet”和分页,但如果我点击第2页则会显示404错误。网址是/ localhost / wordpress / international / realizations / page / 2 /

我尝试添加'has_archive'=&gt;对我的注册帖子类型是真的,但是当我保存并刷新永久链接并返回到我的列表页面/ localhost / wordpress / international / realizations /页面为空且我的面包屑不再好“ACCUEIL&gt;RÉALISATIONS”而不是“ ACCUEIL&gt; INTERNATIONAL&gt;RÉALISATIONS“。

我是新手所以也许我做错了什么,请帮助我,因为我已经搜索了几天而且我不知道该怎么做!

我还在此link测试了此解决方案(仍然是404)。

1 个答案:

答案 0 :(得分:1)

而不是这个

<nav>
    <?php wp_pagenavi( array( 'query' => $the_query ) ); ?>
</nav>

使用此

<div class="pagination">
<?php             
    global $wp_query;

    $big = 999999999; // need an unlikely integer

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