如果有人对这段代码的错误有任何想法,或者可以提出一种完全不同的方法来实现相同的目标,我将不胜感激。
我有一个站点(分阶段的,非公开的),其自定义帖子类型为“资源”。每个资源都进行了分类。我想生成一个分页列表-每页10个-在适当的类别标题下收集的帖子。
例如:
类别名称1–链接到帖子–链接到帖子
类别名称2–链接到帖子–链接到帖子–链接到帖子
类别名称3–链接到帖子
。。。等等
这是我现在用来生成标题为帖子列表的类别的代码:
<?php $cats = get_categories();
foreach ($cats as $cat) {
$cat_id = $cat->term_id; echo "<h2>".$cat->name."</h2>";
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$args = array( \'post_type\' => \'resources\', \'posts_per_page\' => 10, \'cat\' => $cat_id, paged => $paged ); $wp_query = new WP_Query($args);
if (have_posts()) : while (have_posts()) : the_post(); ?>
<ul>
<li><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li>
</ul>
<?php endwhile; endif; ?>
<?php } ?>
这在一定程度上起作用,但不幸的是,没有分页。我正在使用
<?php previous_posts_link(\'Older resources\'); ?>
<?php next_posts_link(\'Newer resources\'); ?>
生成导航。我还想只列出有关联“资源”帖子的类别标题。
我敢肯定,是用来输出每个类别标题的“foreach”打破了这里的分页,但我很困惑,不知道如何解决这个问题或编写一个替代方案。
SO网友:Got The Fever Media
你不应该有单引号吗$args = array( \'post_type\' => \'resources\', \'posts_per_page\' => 10, \'cat\' => $cat_id, paged => $paged );
像这样:
$args = array( \'post_type\' => \'resources\', \'posts_per_page\' => 10, \'cat\' => $cat_id, \'paged\' => $paged );