Hi All
I have been having a look around but can not seem to find anything about a solution to repeater fields and pagination.
Currently I have a repeater field which is used to style a page into different “blocks”. You select the “type” of content and that then display is on the page An example:
[main wp content]
– full image block –
-Normal writing section –
-image-
-Normal writing section –
This would then output content to build a page where you can use the repeater to change the layout etc.
What i would like it to also add in a repeater option something like Page Break for breaking the page and adding in pagination.
I am still learning PHP and to me I am not sure how i would even start.
Are you talking about creating multiple pages in the same say that WordPress will do if you add <!-- Nextpage -->
into the content area?
Hi John
Yeah that is the similar functionality I am looking for.
At the moment <!– Next Page –> only works for the first content section and not any of ACF’s.
That is why I would like to add a repeater type which you can insert where you want in the repeater loop to break up into another page.
This is basically functionality that you’ll need to custom build, but it is possible. I just did something similar where every row in a repeater field is a separate page on the front end.
What I did was to create a loop that shows page links, similar to the page links that WP shows. I had to generate the page links /1, /2, /3, etc. Then in the page code I tested to see which of the repeater rows should be displayed and then looped through the repeater till it got to the right one and showed it.
This isn’t something that ACF will do for you.
Here is some code that might help you get it going. just some of what I used.
// get the page number
$page = 0;
$base_url = $_SERVER['REQUEST_URI']
if (preg_match('#/([0-9]+)/?$#', $_SERVER['REQUEST_URI'], $matches)) {
$page = intval($matches[1]);
$base_url = preg_replace('#[0-9]+/?$#', '', $base_url);
}
// output page links
$count = intval(get_post_meta($post->ID, 'repeater', true));
if ($count) {
?>
<ul>
<?php
for ($i=0; $i<$count; $i++) {
?>
<li><a href="<?php
echo $base_url,$i,'/'; ?>><?php
echo $i; ?></a></li>
<?php
}
?>
</ul>
<?php
}
// output the right row
$count = 0;
if (have_rows($repeater)) {
while (have_rows($repeater)) {
$count++;
the_row();
if ($count == $page) {
// output the content of this row
}
}
}
The topic ‘Adding manual page breaks on repeater field’ is closed to new replies.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.