【发布时间】:2015-06-07 10:13:03
【问题描述】:
我正在尝试在自定义主题上进行分页。
我有一个带有自定义分类法的帖子类型,并且我对这些自定义分类法进行了分页,效果很好。
但是,在网站的另一部分,我有另一种自定义帖子类型;我正在尝试对这种帖子类型的帖子进行分页。目前,帖子也在此帖子类型中的自定义分类中,自定义分类的行为类似于类别。
URL 结构是http://www.domain.com/latest-news/,但是当我转到http://www.domain.com/latest-news/2/ 时出现404 错误,这就是问题所在。
这是我的代码(抱歉太长了):
<?php
$numCats = 0;
$paged = (get_query_var('page')) ? get_query_var('page') : 1;
$posts_per_page = 5;
$offset = ($posts_per_page * $paged - $posts_per_page);
$taxonomies = array(
'latest-cat'
);
$args = array(
'hide_empty' => false,
'parent' => 0,
'orderby' => 'id',
'order' => 'DESC',
'paged' => $paged
);
$terms = get_terms($taxonomies, $args);
foreach ($terms as $term) {
$args = array(
'post_type' => 'latest_news_item',
'oserby' => 'id',
'order' => 'ASC',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'latest-cat',
'terms' => $term->term_id
)
)
);
$wp_query = new WP_Query($args);
while ($wp_query->have_posts() ) : $wp_query->the_post();
$numCats++;
endwhile;
$args = array(
'post_type' => 'latest_news_item',
'parent' => 115,
'orderby' => 'id',
'order' => 'ASC',
'posts_per_page' => $posts_per_page,
'offset' => 0,
'paged' => $paged
);
$wp_query = new WP_Query($args);
while ($wp_query->have_posts() ) : $wp_query->the_post();
?>
<div class="news-events-item">
<h3><?php echo get_the_title(); ?></h3>
<?php $content = get_the_content(); ?>
<p class="summary"><?php echo wp_trim_words($content, '30', '...'); ?><a href="<?php echo get_the_permalink(); ?>" class="read-more">More</a></p>
</div>
<?php
endwhile;
} ?>
$numCats 变量只是为了统计帖子的数量,这样我就可以设置分页链接,这部分就可以了。
谢谢
【问题讨论】:
-
您可以尝试访问domain.com/latest-news/page/2 看看是否可行吗?
-
你这里也有错字:
'oserby' => 'id'- 这可能是原因,不确定。 -
@ɴᴀᴛʜ 我已经修正了错字,不幸的是这并没有帮助,不过感谢你发现它,我试着去那个页面,但这也是一个 404。奇怪的是网址结构与在网站不同部分工作的分页相同,但这次它不起作用。
-
你的 $paged 变量也应该读为 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; - 注意“分页”而不是“页面”。您还应该在使用 wp_reset_query() 开始另一个查询之前重置您的查询
-
@johnnyd23 我尝试使用分页而不是分页,但它仍然无法正常工作。我在这么多 php 之前有一个 wp_reset_query,我应该在哪里添加它到那个 php 中?
标签: php wordpress post pagination taxonomy