Post object, relationship, user and taxonomy fields all store references. Rendering them means resolving the reference, and handling the case where the thing it points at is gone.
Repeater and Relationship require Nexter Pro Extensions 4.8.0 or later. On Nexter Extension alone neither type can be added, and an existing field of either type is locked: the value is kept read-only and is never cleared on save.
What It Does
All four types hand back an ID or a set of IDs by default. You resolve each one when you render, which keeps the stored data small and always current.
Before You Start
- Nexter Extension is active.
- A field group with values saved on a post.
- You know the field’s Field Name.
Render a Reference
- Read the value. A multi-value field returns an array, so cast with
(array)and loop.

- Resolve each ID with the right WordPress function —
get_post_status(),get_userdata()orget_term().
- Skip anything that no longer resolves. A deleted target leaves its ID behind.
- Escape as you print.
Display the Value
One pattern per type:
<?php
// Post object / Relationship
foreach ( (array) nxt_field_value( 'similar' ) as $id ) {
if ( 'publish' !== get_post_status( $id ) ) { continue; }
printf( '<li><a href="%s">%s</a></li>',
esc_url( get_permalink( $id ) ), esc_html( get_the_title( $id ) ) );
}
// User
$user = get_userdata( nxt_field_value( 'agent' ) );
if ( $user ) { echo esc_html( $user->display_name ); }
// Taxonomy
foreach ( (array) nxt_field_value( 'category' ) as $term_id ) {
$term = get_term( $term_id );
if ( $term && ! is_wp_error( $term ) ) { echo esc_html( $term->name ); }
}
Limitations
- Relationships are one-directional. Picking B on post A does not make A appear on B.
- Relationship and post-object values are stored as arrays, so they are not exposed through the WordPress REST API by default.
- A deleted post, user or term leaves its ID stored. Every example above guards for that, and so should yours.
Troubleshooting
Blank list items appear
The target was deleted or trashed. Check it resolves before rendering.
I expected an object and got a number
The field’s Return Format is set to ID. Either resolve it yourself, as above, or change the format.










