我有一个与自定义分类(支持)相关的自定义帖子类型(问题)
在my-theme / taxonomy.php中我有这段代码:
<?php
$taxonomy = get_queried_object()->taxonomy;
if ($taxonomy == 'support')
{
get_template_part('template/support/categories');
exit;
}
wp_safe_redirect(site_url('/'));
exit;
?>
意味着我将特定模板文件作为“支持”分类标准。
在我的分类模板文件中,我制作了一个自定义查询:
<?php $current_category = get_term_by('id', get_queried_object()->term_id, 'support'); ?>
<?php $questions = new WP_Query(array(
'post_type' => array('question'),
'post_status' => 'publish',
'posts_per_page' => 5,
'posts_per_archive_page' => 5,
'paged' => ((get_query_var('page')) ? get_query_var('page') : 1),
'nopaging' => false,
'tax_query' => array(
array(
'taxonomy' => 'support',
'terms' => array($current_category->term_id)
)
),
'orderby' => 'menu_order',
'order' => 'ASC'
)); ?>
<?php if ($questions->have_posts()): ?>
<ul class="list normalize">
<?php while ($questions->have_posts()) : $questions->the_post(); ?>
<li>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<div class="nav-previous">
<?php next_posts_link( __('Previous', 'my-theme'); ?>
</div>
<div class="nav-next">
<?php previous_posts_link( __('Next', 'my-theme'); ?>
</div>
<?php wp_reset_postdata(); ?>
我有大约11个帖子,第1页显示了5个帖子,但问题是没有显示分页。
有什么想法吗? 谢谢
答案 0 :(得分:3)
你可以尝试这个分页插件
http://wordpress.org/plugins/wp-pagenavi/
并在模板中添加此代码
<?php if (!function_exists('wp-pagenavi')) { wp_pagenavi(); } else { ?>
<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries »') ?></div>
</div><?php } ?>
答案 1 :(得分:1)
我尝试了您的代码和我的分类
<?php $questions = new WP_Query(array(
'post_type' => array('studies'),
'post_status' => 'publish',
'posts_per_page' => 15,
'paged' => get_query_var('paged'),
'nopaging' => false,
'tax_query' => array(
array(
'taxonomy' => 'studies',
'terms' => 11
)
),
'orderby' => 'menu_order',
'order' => 'ASC'
));
?>
<div class="grid9">
<div class="entry-content">
<?php if ($questions->have_posts()): ?>
<ul class="list normalize">
<?php while ($questions->have_posts()) : $questions->the_post(); ?>
<li>
<h3><a href="<?php the_permalink(); ?>"><?php echo get_the_title(); ?></a></h3>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php
wp_pagenavi( array( 'query' => $questions ) );
?>
这很好用,不要忘记使用wp-pagenavi插件。
答案 2 :(得分:0)
将此代码放在&#34; endif;&#34;并且在while循环结束时。
<div class="nav-previous">
<?php next_posts_link( __('Previous', 'my-theme'); ?>
</div>
<div class="nav-next">
<?php previous_posts_link( __('Next', 'my-theme'); ?>
</div>
<?php wp_reset_postdata(); ?>
希望这会对你有所帮助。
答案 3 :(得分:0)
通常这对我有用:
$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' => $questions->max_num_pages
) );
注意问题变量。 :-)使用完毕后,转到设置 - &gt;永久链接和保存两次。
您可以使用相同的示例找到更大的教程here。