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>