WordPress-自定义模板上的分页未显示(Lollum Framework-Lotusflower主题)
我一直在使用名为Lotusflower的wordpress主题。我创建了一个页面模板(复制粘贴了index.php), 并使用WP_Query来获取我希望在此页面上显示的帖子。但是, 内置分页功能的主题似乎在这里不起作用。你能解释为什么吗?
//Query for the posts
<
?php
/**
* Lollum
*
* The main template file
*
* This is the most generic template file in a WordPress theme and one of the
* two required files for a theme (the other being style.css).
* It is used to display a page when nothing more specific matches a query.
* For example, it puts together the home page when no home.php file exists.
*
* @package WordPress
* @subpackage Lollum Themes
* @author Lollum <
support@lollum.com>
*
*/
/*
Template Name: What's New
*/
$postsPerPage = 3;
$page = 1;
$post_query = new WP_Query(array(
'post_status' =>
'publish', 'orderby' =>
'publish_date', 'order' =>
'DESC', 'paged' =>
$page, 'posts_per_page' =>
$postsPerPage
));
?>
然后我像这样使用它来获取自定义页面模板上的最新帖子:
<
?php // START the loop
?>
<
?php while ($post_query->
have_posts()) : $post_query->
the_post();
?>
<
?php #CUSTOM ADDITIONS : SHOW VIEWS echo wpb_get_post_views(get_the_ID());
?>
<
?php get_template_part('content/content', get_post_format());
?>
<
?php endwhile;
?>
<
?php // END the loop
?>
<
?php lollum_pagination();
?>
<
?php // lollum_pagination_default();
?>
<
/div>
其中lollum_pagination()函数如下所示:
/**
* Pagination
*/
if (!function_exists('lollum_pagination')) {
function lollum_pagination($pages = '', $range = 2) {
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == '') {
global $wp_query;
$pages = $wp_query->
max_num_pages;
if(!$pages) {
$pages = 1;
}
}
if(1 != $pages) {
echo "<
nav class='pagination'>
";
echo "<
h2 class='assistive-text'>
" . __('Post navigation', 'lollum') . "<
/h2>
";
if($paged >
1 &
&
$showitems <
$pages) echo "<
a href='" . get_pagenum_link($paged - 1) . "'>
&
laquo;
<
/a>
";
for ($i=1;
$i <
= $pages;
$i++) {
if (1 != $pages &
&
(!($i >
= $paged+$range+1 || $i <
= $paged-$range-1) || $pages <
= $showitems)) {
echo ($paged == $i)? "<
span class='current'>
" . $i . "<
/span>
":"<
a href='" . get_pagenum_link($i) . "' class='inactive' >
" . $i . "<
/a>
";
}
}
if ($paged <
$pages &
&
$showitems <
$pages) echo "<
a href='" . get_pagenum_link($paged + 1) . "'>
&
raquo;
<
/a>
";
echo "<
/nav>
\n";
}
}
}
我没有在这个功能上摆弄。我猜它不起作用, 因为我需要使用另一种方式来查询帖子?那是我的猜测。在我的index.php(我从中复制代码的地方)上, 完全相同的代码段可以完美地工作(我没有使用自定义数组, 因为它直接查询帖子)
提前致谢
#1【WordPress-自定义模板上的分页未显示(Lollum Framework-Lotusflower主题)】我通过执行以下操作使其工作:
- 将$ post_query的名称更改为$ wp_query(因为该函数使用此名称)
- 使用’ paged’ => get_query_var(‘ paged’ ), 而不是整数$ page。对于自定义查询, 你似乎需要使用查询var。
推荐阅读
- #yyds干货盘点# 你怎么总是能写出两三千行的controller类()
- 具有自定义主题的WordPress分页不起作用
- WordPress分页不起作用与第1页相同的第2页
- WordPress分页没有显示在类别页面上
- WordPress(页面模板条件检查在functions.php中不起作用)
- WordPress页面未显示CSS
- WordPress的页面生成器不显示
- WordPress页面本身正在滚动并开始动摇
- WordPress页面内容和同一页面中的帖子