Support

Account

Home Forums Add-ons Repeater Field Linking to specific repeater subfields

Solved

Linking to specific repeater subfields

  • I have a repeater with multiple list items
    I want to link to a specific item using a named anchor.
    Is there a way of automating this without having to add the anchor for each item.
    I was thinking if there was some way to get the id of the sub field, I could use that

  • The subfields doesnt really have a specific ID.. However you can do a loop counter in your while(has_sub_field()) and use that to create custom ids..

    example:

    
    <?php
    $i = 1;
    while(has_sub_field('myfield')):
    echo '<div id="item-' . $i . '">' . get_sub_field('mysubfield') . '</div>';
    $i++;
    endwhile;
    ?>
    
    

    This will give your items an id of item-1, item-2 etc. so in your anchor you can do:

    
    <a href="#item-2">link to second item</div>
    
  • awesome.. I implimented that like this:

    
    <?php
    $i = 1; while(has_sub_field('question_answer')): echo '<div id="item-' . $i . '"><h2>' . get_sub_field('question') . '</h2>' . get_sub_field('answer') . '</div>';
    $i++;
    endwhile;
    ?>
    

    now i am attempting to link to the anchor form another template.

    
    <ul>
    <?php
    $i = 1;
    while(has_sub_field('question_answer')):
    echo '<li><a href="' . the_permalink() . '/item-' . $i . '">' . the_sub_field('question') . '</a></li>' ;
    $i++;
    endwhile; ?>
    				</ul>
    

    this is rendering the right code, just jumbling the html.. i checked the order so it must be my lack of php skills

  • Hi @dvize

    it is most likely that you are using the_sub_field instead of get_sub_field

  • ohhh closer

    this works except the permalink is outside of the link

    	<ul>
    				<?php
    				$i = 1;
    				while(has_sub_field('question_answer')):
    				echo '<li><a href="' . the_permalink() . '/item-' . $i . '">' . get_sub_field('question') . '</a></li>' ;
    				$i++;
    				endwhile;
    				?>
    				</ul>

    This does not display anything….

    <ul>
    				<?php
    				$i = 1;
    				while(get_sub_field('question_answer')):
    				echo '<li><a href="' . the_permalink() . '/item-' . $i . '">' . get_sub_field('question') . '</a></li>' ;
    				$i++;
    				endwhile;
    				?>
    				</ul>
  • change the_permalink to get_permalink and you should be all set 🙂

  • @Jonathan and @elliot = total rockstars 🙂

  • I tried to do an scrolling menu with the same manipulation and repeater fields but the anchors are not coordinated.

Viewing 8 posts - 1 through 8 (of 8 total)

The topic ‘Linking to specific repeater subfields’ is closed to new replies.