Я работал с темой WordPress под названием Lotusflower. Я создал шаблон страницы (копия вставила 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) . "'>«</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) . "'>»</a>";
echo "</nav>\n";
}
}
}
Я не стал возиться с этой функцией. Я думаю, это не работает, потому что мне нужно использовать другой способ для запроса сообщений? Это было бы мое предположение. На моем index.php (куда я скопировал код) точно такой же кусок кода работает отлично (там я не использовал пользовательский массив, потому что я думаю, он напрямую запрашивает сообщения)
Заранее спасибо