Pro field types Pro

The advanced, repeatable and relational fields, added by Fieldstone Pro. Repeatable fields are read with a loop; relational fields return posts, users or terms. For deeper loop and relationship recipes, see Pro guides.

Repeatable & layout

Repeater Pro

A set of sub-fields the editor can repeat any number of times — slides, team members, FAQs.

Configure

Add sub-fields (any field type, even another repeater), a button label, min/max rows, and a layout (table, block or row).

Stores

Rows in a dedicated table (not postmeta bloat). Read them with the loop below.

Display

<?php if ( fstn_have_rows( 'slides' ) ) : ?>
  <ul class="slides">
  <?php while ( fstn_have_rows( 'slides' ) ) : fstn_the_row(); ?>
    <li>
      <?php $img = fstn_get_sub_field( 'image' ); ?>
      <img src="<?php echo esc_url( $img['url'] ); ?>" alt="<?php echo esc_attr( $img['alt'] ); ?>">
      <p><?php echo esc_html( fstn_get_sub_field( 'caption' ) ); ?></p>
    </li>
  <?php endwhile; ?>
  </ul>
<?php endif; ?>

Group Pro

A fixed set of sub-fields bundled as one reusable unit — e.g. an "Address" of street, city and postcode.

Configure

Add its sub-fields; choose block or seamless display.

Stores

One row of sub-field values.

Display

<?php if ( fstn_have_rows( 'address' ) ) : while ( fstn_have_rows( 'address' ) ) : fstn_the_row(); ?>
  <address>
    <?php echo esc_html( fstn_get_sub_field( 'street' ) ); ?>,
    <?php echo esc_html( fstn_get_sub_field( 'city' ) ); ?>
  </address>
<?php endwhile; endif; ?>

Flexible Content Pro

Layout blocks the editor can add, reorder and mix freely — a page builder made of your own field sets.

Configure

Define one or more layouts, each with its own sub-fields (e.g. "Hero", "Quote", "Gallery").

Stores

Rows, each carrying its layout name.

Display

<?php while ( fstn_have_rows( 'sections' ) ) : fstn_the_row(); ?>
  <?php if ( fstn_get_row_layout() === 'hero' ) : ?>
    <section class="hero"><?php echo esc_html( fstn_get_sub_field( 'heading' ) ); ?></section>
  <?php elseif ( fstn_get_row_layout() === 'quote' ) : ?>
    <blockquote><?php echo esc_html( fstn_get_sub_field( 'text' ) ); ?></blockquote>
  <?php endif; ?>
<?php endwhile; ?>

Clone Pro

Include another field group's fields at this position — define a set of fields once and reuse it everywhere.

Configure

Pick the group (or fields) to clone, and whether to display them seamlessly or grouped.

Stores

The cloned fields behave as if they were defined here — read each by its own name (or as sub-fields, depending on the clone's display mode).

Relational

Post Object Pro

Select one or more posts from a dropdown.

Configure

Allowed post types, single or multiple, and return format (WP_Post or id).

Stores

A WP_Post (single) or an array of them (multiple) — or IDs.

Display

<?php $post = fstn_get_field( 'featured' ); ?>
<?php if ( $post ) : ?>
  <a href="<?php echo esc_url( get_permalink( $post ) ); ?>"><?php echo esc_html( get_the_title( $post ) ); ?></a>
<?php endif; ?>

Relationship Pro

A richer, searchable picker for choosing and ordering multiple posts. Supports two-way links — see Pro guides.

Configure

Post types, taxonomies to filter by, min/max, and return format.

Stores

An array of WP_Post objects (or IDs), in the chosen order.

Display

<?php foreach ( (array) fstn_get_field( 'related' ) as $post ) : ?>
  <li><a href="<?php echo esc_url( get_permalink( $post ) ); ?>"><?php echo esc_html( get_the_title( $post ) ); ?></a></li>
<?php endforeach; ?>

User Pro

Select one or more users.

Configure

Roles to allow, single or multiple, return format (WP_User, array or ID).

Stores

A WP_User (or array of them / IDs).

Display

<?php $author = fstn_get_field( 'reviewer' ); ?>
<?php echo esc_html( $author->display_name ); ?>

Taxonomy Pro

Select terms from a taxonomy (with checkboxes, radios or a select).

Configure

The taxonomy, the input style, single/multiple, whether selecting also assigns the term to the post, and return format (WP_Term or ID).

Stores

A WP_Term (or array of them / IDs).

Display

<?php foreach ( (array) fstn_get_field( 'genres' ) as $term ) : ?>
  <a href="<?php echo esc_url( get_term_link( $term ) ); ?>"><?php echo esc_html( $term->name ); ?></a>
<?php endforeach; ?>

Page Link Pro

Choose a post, page or archive and get its URL — handy for menus and CTAs that may point at either content or an archive.

Configure

Allowed post types, whether archives are selectable, single or multiple.

Stores

A URL string (or an array of URLs when multiple).

Display

<a href="<?php echo esc_url( fstn_get_field( 'read_more' ) ); ?>">Read more</a>

Media & pickers

Gallery Pro

An ordered set of images the editor can add, remove and drag to reorder.

Configure

Min/max, preview size, insert position, and return format (array or id).

Stores

An array of images, each with id, url, alt (or an array of attachment IDs).

Display

<?php foreach ( fstn_get_field( 'photos' ) as $img ) : ?>
  <img src="<?php echo esc_url( $img['url'] ); ?>" alt="<?php echo esc_attr( $img['alt'] ); ?>">
<?php endforeach; ?>

Date/Time Pro

A date and time picker.

Configure

Display format, return format (default Y-m-d H:i:s).

Stores

A string in the return format.

Display

<?php $when = fstn_get_field( 'starts_at' ); ?>
<time datetime="<?php echo esc_attr( $when ); ?>"><?php echo esc_html( date_i18n( 'D, M j · g:ia', strtotime( $when ) ) ); ?></time>

Time Pro

A time-only picker.

Configure

Display and return format (default H:i:s).

Stores

A string.

Display

<?php echo esc_html( fstn_get_field( 'opens_at' ) ); ?>

Google Map Pro

Pick a location on a map (search or drop a pin).

Configure

Default centre and zoom. Needs a Google Maps API key (set it under Fieldstone settings).

Stores

An array with address, lat and lng.

Display

<?php $loc = fstn_get_field( 'venue' ); ?>
<p><?php echo esc_html( $loc['address'] ); ?></p>
<div data-lat="<?php echo esc_attr( $loc['lat'] ); ?>" data-lng="<?php echo esc_attr( $loc['lng'] ); ?>"></div>