我的wordpress主题有点问题。所以我刚刚创建了一个类别主题,我使用以下结构作为永久链接:/%year%/%monthnum%/%postname%/。
Pagination最初没有工作,但现在我已经设法让它最终运行。链接
<div class="pagination">
<div class="alignleft"><?php previous_posts_link('« neuere Artikel') ?></div>
<div class="alignright"><?php next_posts_link('ältere Artikel »','') ?></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('« neuere Artikel') ?></div>
<div class="alignright"><?php next_posts_link('ältere Artikel »','') ?></div>
</div>
<?php endif; ?>
<div class="clearfix"></div>
<!-- END CONTENT -->
<?php $wp_query = null;
$wp_query = $temp; ?>
但它仍然无效。有没有人可以帮我这个?提前致谢。 &lt; 3
答案 0 :(得分:2)
转到
Settings -> Reading
并在Blog pages show at most
中设置Syndication feeds show the most recent
和posts_per_page
与wp_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>