页面未找到的Wordpress分页链接

时间:2013-02-15 15:50:23

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

我的wordpress主题有点问题。所以我刚刚创建了一个类别主题,我使用以下结构作为永久链接:/%year%/%monthnum%/%postname%/。

Pagination最初没有工作,但现在我已经设法让它最终运行。链接

             <div class="pagination">
            <div class="alignleft"><?php previous_posts_link('&laquo; neuere Artikel') ?></div>
            <div class="alignright"><?php next_posts_link('ältere Artikel &raquo;','') ?></div>
         </div>

正在展示。

主要问题是当我点击“next_posts”-Link或在previous_posts-Link上时,我会得到一个404.

这是我的代码:

    <?
        $temp = $wp_query; 
$wp_query = null; 
$wp_query = new WP_Query();  
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $wp_query->query(array(
    'posts_per_page' => 5,
    'orderby'=> 'menu_order',
    'paged'=>$paged
    ) );
?>

<?php if (have_posts()) : ?>
        <?php  while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
            <div class="type-post">
                <h2><a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?></a></h2>
                <div class="blog-date">
                    <a  class="admin" href="<?php echo get_author_posts_url(get_the_author_meta( 'ID' )); ?>"><?php the_author_meta('display_name'); ?></a> 
                    <a href="#" class="date"><?php the_time('j. F, Y'); ?></a> 
                    <a href="<?php comments_link(); ?>" class="comments"><?php comments_number('0 Kommentare','1 Kommentar','% Kommentare'); ?></a>
                </div><!-- close .blog-date -->

                <p><? echo wp_trim_words( get_the_content(), 100 ); ?> </p>
                <p class="alignright"><a href="blog-single.php" class="button">Read more</a></p>
            <div class="clearfix"></div>
            </div>
                <?php endwhile; ?>
            <!-- END Single Content -->
         <div class="pagination">
            <div class="alignleft"><?php previous_posts_link('&laquo; neuere Artikel') ?></div>
            <div class="alignright"><?php next_posts_link('ältere Artikel &raquo;','') ?></div>
         </div>
        <?php endif; ?>
            <div class="clearfix"></div>

<!-- END CONTENT -->
<?php   $wp_query = null; 
$wp_query = $temp;  ?>

但它仍然无效。有没有人可以帮我这个?提前致谢。 &lt; 3

3 个答案:

答案 0 :(得分:2)

转到

Settings -> Reading

并在Blog pages show at most中设置Syndication feeds show the most recentposts_per_pagewp_query->query选项相同。

答案 1 :(得分:0)

在你的代码中 $ paged =(get_query_var('paged'))? get_query_var('paged'):1;

get_query_var('paged')替换为get_query_var('page')

答案 2 :(得分:0)

<?php
global $wp_query;
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$args = array(  
            'post_type' => 'your post type', //Post type
            'posts_per_page' => 5, //How many post u want to display per page
            'paged' => $paged  ,
            'orderby'=> 'menu_order',                    
            );
$the_query = new WP_Query( $args );
 if (have_posts()) : ?>
        <?php  while ($the_query->have_posts()) : $the_query->the_post(); ?>
            <div class="type-post">
                <h2><a href="<?php echo get_permalink(); ?>"><?php echo get_the_title(); ?></a></h2>
                <div class="blog-date">
                    <a  class="admin" href="<?php echo get_author_posts_url(get_the_author_meta( 'ID' )); ?>"><?php the_author_meta('display_name'); ?></a> 
                    <a href="#" class="date"><?php the_time('j. F, Y'); ?></a> 
                    <a href="<?php comments_link(); ?>" class="comments"><?php comments_number('0 Kommentare','1 Kommentar','% Kommentare'); ?></a>
                </div><!-- close .blog-date -->

                <p><? echo wp_trim_words( get_the_content(), 100 ); ?> </p>
                <p class="alignright"><a href="blog-single.php" class="button">Read more</a></p>
            <div class="clearfix"></div>
            </div>
                <?php endwhile; ?>
            <!-- END Single Content -->
        <?php endif; ?>
<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>