Я использую pagination_bar из function.php. Я реализовал это на пользовательской странице под названием page-blog.php. Я ограничил страницы до 2 на странице и у меня есть 3 сообщения в блоге. После того, как я вставил функцию pagination_bar(), она показывает мне фатальную ошибку.
Я уже видел здесь какое-то решение, но ни одно из них не помогает. Я попытался сделать некоторое смещение.
function.php
function pagination_bar() {
global $wp_query;
$total_pages = $wp_query->max_num_pages;
if ($total_pages > 1){
$current_page = max(1, get_query_var('paged'));
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => 'page/%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => '<i class = "fa fa-angle-left"></i>',
'next_text' => '<i class = "fa fa-angle-right"></i>'
));
}
}
страница-блог.php
<div class = "col-xl-8 col-md-12 col-lg-8 col-sm-12 col-xs-12 md-blog-posts">
<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$homePagePosts = new WP_Query(array(
'posts_per_page' => '2',
'post_type' => 'post',
'has_archive' => true,
'post_status' => 'publish',
'order' => 'DESC',
'paged' => $paged,
));
if ($homePagePosts->have_posts()) :
while($homePagePosts->have_posts()) :
$homePagePosts->the_post(); ?>
<div class = "col-xs-12 col-md-12 col-lg-12 md-blog-blog">
<div class = "md-blog-img">
<div class = "img-container">
<div class = "positioning">
<span class = "md-blogdate-number"><?php the_time('F d, Y.'); ?></span>
<h4 class = "md-blog-title"><?php echo get_the_title() ?></h4>
<a href = "<?php the_permalink(); ?>" class = "btn md-button-read-more" id = "md-blog-button">Read More</a>
</div>
<div class = "md-blog-img"><?php the_post_thumbnail() ?></div>
</div>
</div>
</div>
<?php endwhile; ?>
<?php else : ?>
<h1>There is no posts at this moment</h1>
<?php endif; ?>
<div class = "md-pagination-holder" style = "background: #333; width:50px; height: 50px; color: #fff;">
<?php paginate_bar(); ?>
</div>
</div>
Также вы можете посмотреть сайт здесь -> http://prodenvermovers.wpupkeep.org/blog/
Я получаю фатальную ошибку.
Обновлено: http://prntscr.com/oij1dr
Я изменил paginate_bar на pagination_bar, поскольку функция фактически вызывается, но я получаю сообщение об ошибке выше, когда обновляю страницу.
Я сделал все, что вы мне сказали, и все еще не работает
Попробуйте это, чтобы увидеть, сможете ли вы заставить страницу работать. В этом примере он просто использует встроенные хуки WP для создания ссылок на страницы. Кроме того, под «все еще не работает» вы имеете в виду, что все еще получаете сообщение об ошибке или просто не видите нумерацию страниц?
<div class = "col-xl-8 col-md-12 col-lg-8 col-sm-12 col-xs-12 md-blog-posts">
<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$homePagePosts = new WP_Query(array(
'posts_per_page' => '2',
'post_type' => 'post',
'has_archive' => true,
'post_status' => 'publish',
'order' => 'DESC',
'paged' => $paged,
));
if ($homePagePosts->have_posts()) :
while($homePagePosts->have_posts()) :
$homePagePosts->the_post(); ?>
<div class = "col-xs-12 col-md-12 col-lg-12 md-blog-blog">
<div class = "md-blog-img">
<div class = "img-container">
<div class = "positioning">
<span class = "md-blogdate-number"><?php the_time('F d, Y.'); ?></span>
<h4 class = "md-blog-title"><?php echo get_the_title() ?></h4>
<a href = "<?php the_permalink(); ?>" class = "btn md-button-read-more" id = "md-blog-button">Read More</a>
</div>
<div class = "md-blog-img"><?php the_post_thumbnail() ?></div>
</div>
</div>
</div>
<?php endwhile; ?>
<div class = "nav-previous alignleft"><?php previous_posts_link( 'Older posts' ); ?></div>
<div class = "nav-next alignright"><?php next_posts_link( 'Newer posts' ); ?></div>
<?php else : ?>
<h1>There is no posts at this moment</h1>
<?php endif; ?>
</div>
Не видит страницы. я вообще не вижу
Вы можете проверить это на странице ProMoversDev. Он жив, и я кодирую его прямо сейчас. Я попробую это решение, которое вы мне дали, и мы посмотрим, сработает ли оно.
Проверьте веб-страницу -> prodenvermovers.wpupkeep.org/blog, где написано, что должна быть предыдущая кнопка alignleft, но она все еще не отображается...
Также я хотел бы задать вам еще один вопрос. Можем ли мы вместо новых и старых постов поставить страницы? Нравится paginate_links()? Я пробовал, но это тоже не работает
Вы можете написать все, что хотите, в этот крючок. Например, <?php previous_posts_link('Yesterday') ?>. Это то, что вы спрашиваете?
Во-первых, вы не должны устанавливать смещение и нумерацию страниц. Смещение нарушает эту функциональность. Вам нужен только параметр "paged". Убрать «смещение».