0

我是 wordpress n00b 并且遇到分页问题。我正在使用以下“示例”循环代码:

<div id="content">
    <?php /* Top post navigation */ ?>
    <?php
               $args = array(
               'posts_per_page' => '25',
               'cat' => '-33'
                   ); 
    ?>
    <?php global $wp_query; 
                 $wp_query = new WP_Query( $args );
                 $total_pages = $wp_query->max_num_pages; 
                 if ( $total_pages > 1 ) { ?>

    <?php } ?>

    <?php /* The Loop — with comments! */ ?>
    <?php while ( have_posts() ) : the_post() ?>

    <?php /* Create a div with a unique ID thanks to the_ID() and semantic classes with post_class() */ ?>
                    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php /* an h2 title */ ?>
                        <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( __('Permalink to %s', 'hbd-theme'), the_title_attribute('echo=0') ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>

    <?php /* Microformatted, translatable post meta */ ?>
                        <div class="entry-meta">
                            <span class="meta-prep meta-prep-author"><?php _e('By ', 'hbd-theme'); ?></span>
                            <span class="author vcard"><a class="url fn n" href="<?php echo get_author_link( false, $authordata->ID, $authordata->user_nicename ); ?>" title="<?php printf( __( 'View all posts by %s', 'hbd-theme' ), $authordata->display_name ); ?>"><?php the_author(); ?></a></span>
                            <span class="meta-sep"> | </span>
                            <span class="meta-prep meta-prep-entry-date"><?php _e('Published ', 'hbd-theme'); ?></span>
                            <span class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO') ?>"><?php the_time( get_option( 'date_format' ) ); ?></abbr></span>
                            <?php edit_post_link( __( 'Edit', 'hbd-theme' ), "<span class=\"meta-sep\">|</span>\n\t\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t" ) ?>
                        </div><!-- .entry-meta -->

    <?php /* The entry content */ ?>
                        <div class="entry-content">
    <?php the_content( __( 'Continue reading <span class="meta-nav">&raquo;</span>', 'hbd-theme' )  ); ?>
    <?php wp_link_pages('before=<div class="page-link">' . __( 'Pages:', 'hbd-theme' ) . '&after=</div>') ?>
                        </div><!-- .entry-content -->

    <?php /* Microformatted category and tag links along with a comments link */ ?>
                        <div class="entry-utility">
                            <span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links"><?php _e( 'Posted in ', 'hbd-theme' ); ?></span><?php echo get_the_category_list(', '); ?></span>
                            <span class="meta-sep"> | </span>
                            <?php the_tags( '<span class="tag-links"><span class="entry-utility-prep entry-utility-prep-tag-links">' . __('Tagged ', 'hbd-theme' ) . '</span>', ", ", "</span>\n\t\t\t\t\t\t<span class=\"meta-sep\">|</span>\n" ) ?>
                            <span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'hbd-theme' ), __( '1 Comment', 'hbd-theme' ), __( '% Comments', 'hbd-theme' ) ) ?></span>
                            <?php edit_post_link( __( 'Edit', 'hbd-theme' ), "<span class=\"meta-sep\">|</span>\n\t\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t\n" ) ?>
                        </div><!-- #entry-utility -->
                    </div><!-- #post-<?php the_ID(); ?> -->

    <?php /* Close up the post div and then end the loop with endwhile */ ?>      

    <?php endwhile; ?>

    <?php /* Bottom post navigation */ ?>
    <?php global $wp_query; $total_pages = $wp_query->max_num_pages; if ( $total_pages > 1 ) { ?>
                    <div id="nav-below" class="navigation">
                        <?php next_posts_link(__( '<span class="meta-nav">&laquo;</span> Older posts', 'hbd-theme' )) ?> <span style="color: #bbb;">&#8226;</span> <?php previous_posts_link(__( 'Newer posts <span class="meta-nav">&raquo;</span>', 'hbd-theme' )) ?>
                    </div><!-- #nav-below -->
    <?php } ?>
</div><!-- #content -->

我感觉我正在覆盖一些查询值,但我在各种博客上发现了相互矛盾的信息。我觉得这与我的$args阵列有关。

我应该把它连接起来吗?

如果有,在哪里?$wp_query?

在此先感谢您的帮助,并为 wordpress noob-ness 道歉。

4

1 回答 1

1

我会在你之前添加args

$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1; // setup pagination

然后在你的args

$args = array(
           'posts_per_page' => 25,
           'cat' => '-33',
           'paged' => $paged
        ); 

接下来使用它来显示分页

'<div class="classForOld">'.get_next_posts_link('Older', $wp_query->max_num_pages).'</div>'; //Older Link using max_num_pages
'<div class="classForNew">'.get_previous_posts_link('Newer', $wp_query->max_num_pages).'</div>'; //Newer Link using max_num_pages

这就是你所需要的。

于 2013-03-12T18:55:28.417 回答