Hướng dẫn code phân trang ở ngoài trang chủ wordpress

Hôm nay topweb.store hướng dẫn các bạn viết code phân trang ở ngoài trang chủ website wordpress nhé.

Bạn vào file code hiện thị trang chủ, thường là file [page.php] hoặc [page-blank.php] và thêm đoạn code sau là ok nhé

<?php if ( have_posts() ) : ?>

<?php
$paged = ( get_query_var('page') == 0 ) ? 1 : get_query_var('page');
$args = array(
'post_status' => 'publish',
'post_type' => 'post',
'paged' => $paged,
'posts_per_page' => 10
);
//global $wp_query;
$wp_query = new WP_query($args);
//var_dump($wp_query);
$total = $wp_query->max_num_pages;

?>

<?php
// Create IDS
$ids = array();
while ( $wp_query->have_posts() ) : $wp_query->the_post();
array_push($ids, get_the_ID());
endwhile; // end of the loop.
$ids = implode(',', $ids);

//'show_date' => get_theme_mod( 'blog_badge', 1 ) ? 'true' : 'false',
echo flatsome_apply_shortcode( 'blog_posts', array(
'type' => 'row',
'image_width' => '40',
'depth' => get_theme_mod( 'blog_posts_depth', 0 ),
'depth_hover' => get_theme_mod( 'blog_posts_depth_hover', 0 ),
'text_align' => get_theme_mod( 'blog_posts_title_align', 'center' ),
'style' => 'vertical',
'columns' => '1',
'show_date' => 'text',
'ids' => $ids,
) );
?>

<?php
$prev_arrow = is_rtl() ? get_flatsome_icon('icon-angle-right') : get_flatsome_icon('icon-angle-left');
$next_arrow = is_rtl() ? get_flatsome_icon('icon-angle-left') : get_flatsome_icon('icon-angle-right');

$big = 999999999; // need an unlikely integer
if( $total > 1 ) {
if( !$current_page = get_query_var('page') )
$current_page = 1;
if( get_option('permalink_structure') ) {
$format = 'page/%#%/';
} else {
$format = '&paged=%#%';
}
$pages = paginate_links(array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => $format,
'current' => max( 1, get_query_var('page') ),
'total' => $total,
'mid_size' => 3,
'type' => 'array',
'prev_text' => $prev_arrow,
'next_text' => $next_arrow,
) );

if( is_array( $pages ) ) {
$paged = ( get_query_var('page') == 0 ) ? 1 : get_query_var('page');
echo '<ul class="page-numbers nav-pagination links text-center">';
foreach ( $pages as $page ) {
$page = str_replace("page-numbers","page-number",$page);
echo "<li>$page</li>";
}
echo '</ul>';
}

}
?>

<?php endif; ?>

<?php
// Reset Post Data
wp_reset_postdata();
?>

Chúc các bạn thành công!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *