我很感激有关高级自定义字段转发器的一些帮助。问题是我正在使用插件构建一个库,但我需要在页面末尾进行分页。我正在显示分页链接,但点击时它们似乎无法正常工作。它是否与页面的网址有关 - 它没有在网址中显示网页编号。这是我的代码:
<?php
/*
* Paginate Advanced Custom Field repeater
*/
if (get_query_var('paged')) {
$page = get_query_var('paged');
} else {
$page = 1;
}
// Variables
$row = 0;
$images_per_page = 2; // How many images to display on each page
$images = get_field('thumbnail_image_repeater');
$total = count($images);
$pages = ceil($total / $images_per_page);
$min = (($page * $images_per_page) - $images_per_page) + 1;
$max = ($min + $images_per_page) - 1;
?>
<?php
if (have_rows('thumbnail_image_repeater')):
?>
<?php
while (have_rows('thumbnail_image_repeater')):
the_row();
$row++;
// Ignore this image if $row is lower than $min
if ($row < $min) {
continue;
}
// Stop loop completely if $row is higher than $max
if ($row > $max) {
break;
}
?>
<?php
$image = get_sub_field('thumbnail_image');
$thumbnail_name = get_sub_field('thumbnail_name');
?>
<li class="col-xs-6 col-sm-4 col-md-3" data-responsive="<?php
echo $image['url'];
?>" data-src="<?php
echo $image['url'];
?>" data-sub-html="<h4><?php
echo $thumbnail_name;
?></h4><p><?php
echo $thumbnail_name;
?></p>" data-pinterest-text="Pin it1" data-tweet-text="share on twitter 1">
<a href="">
<img class="img-responsive" src="<?php
echo $image['url'];
?>" alt="Thumb-1" />
</a>
</li>
<?php
endwhile;
// Pagination
echo paginate_links(array(
'base' => get_permalink() . '%#%' . '/',
'format' => '?page=%#%',
'current' => $page,
'total' => $pages,
'prev_text' => __('<<<'),
'next_text' => __('>>>')
));
?>
<?php
endif;
?>
答案 0 :(得分:0)
您似乎正在使用较旧版本的Jonathan Nicol's Repeater分页。您使用的版本仅在常规内置页面上使用。我打赌你在自定义帖子类型上使用它。他在几年前更新了它以支持CPT。这就是他要说的话:
代码片段开头引用的查询变量变为 'page'而不是'paged':
if( get_query_var('page') ) { $page = get_query_var( 'page' ); } else { $page = 1; }
传递给paginate_links的基本和格式选项变为:
'base' => get_permalink() . '%#%' . '/', 'format' => '?page=%#%',
答案 1 :(得分:0)
<?php
/**
* Template Name: Testimonial Page
*/
get_header(); ?>
<?php if(function_exists('demo_custom_innner_banner_code')) demo_custom_innner_banner_code(); ?>
<section id="inner-page">
<div class="inner-page testimonial_page">
<div class="container">
<div class="row">
<div class="col-md-12">
<?php
if( get_query_var('page') ) {
$page = get_query_var( 'page' );
} else {
$page = 1;
}
$row= 0;
$testimonial_per_page = 1;
$testimonials = get_field( 'testimonial_section_data' );
$total_testimonials = count( $testimonials );
$pages = ceil( $total_testimonials / $testimonial_per_page );
$min = ( ( $page * $testimonial_per_page ) - $testimonial_per_page ) + 1;
$max = ( $min + $testimonial_per_page ) - 1;
if( have_rows('testimonial_section_data',get_the_ID()) ):
while( have_rows('testimonial_section_data',get_the_ID()) ) : the_row();
$row++;
// Ignore this testimonials if $row is lower than $min
if($row < $min) { continue; }
if($row > $max) { break; }
$testimonial_section_name = get_sub_field('testimonial_section_name');
$testimonial_section_comment = get_sub_field('testimonial_section_comment');
$testimonial_section_review = get_sub_field('testimonial_section_review');
?>
<div class="testimonial-list">
<div class="testimonialpage_main">
<div class="testimonial_quote"><i class="fas fa-quote-left"></i></div>
<div class="testimonial_text">
<div class="review">
<?php echo $testimonial_section_review;?>
</div>
<?php echo $testimonial_section_comment;?>
<?php if($testimonial_section_name){?>
<h3>- <?php echo $testimonial_section_name;?></h3>
<?php } ?>
</div>
</div>
</div>
<?php
endwhile;
echo paginate_links( array(
'base' => get_permalink() . '%#%' . '/',
'format' => '?page=%#%',
'current' => $page,
'total' => $pages
) );
endif;
?>
</div>
</div>
</div>
</div>
</section>
<?php
get_footer();