# Post Meta

Custom Field containers are used to extend the post edit screens with additional fields. Field data is stored separately for each post as post meta (see add_post_meta (opens new window)).

# Container position

More information about the position options can be found in the add_meta_box() (opens new window) function.

# Context

The part of the page where the container should be shown ('normal' (default), 'advanced', 'side' or 'carbon_fields_after_title')

->set_context( 'normal' )

# Priority

The priority within the context where the container should show ('high' (default), 'core', 'default' or 'low')

->set_priority( 'high' )

# Accessing field values

To access field values you need to use the function carbon_get_post_meta( $id, $name ), where:

Parameter Description
$id Post ID where your value was entered.
$name The field name pattern of the field to be retrieved.
<!-- Simple field -->
<p>Article was published in: <?php echo carbon_get_post_meta( get_the_ID(), 'crb_location' ); ?></p>

<!-- Complex field -->
<?php 
$slides = carbon_get_post_meta( get_the_ID(), 'crb_slides' );
if ( $slides ) {
    foreach ( $slides as $slide ) {
        echo $slide['image'];
    }
}
?>

You can also use carbon_get_the_post_meta( $name ) to access the values for the current post in The Loop (opens new window).

<p>Article was published in: <?php echo carbon_get_the_post_meta( 'crb_location' ); ?></p>

<?php $slides = carbon_get_the_post_meta( 'crb_slides' ); ?>

After saving, the carbon_fields_post_meta_container_saved hook is called, which allows you to hook additional functionality after saving. It accepts the $post_id parameter, which is the ID of the post being updated. Example:

add_action( 'carbon_fields_post_meta_container_saved', 'crb_after_save_event' );
function crb_after_save_event( $post_id ) {
    if ( get_post_type( $post_id ) !== 'crb_event' ) {
        return false;
    }

    $event_date = carbon_get_post_meta( $post_id, 'crb_event_date' );
    if ( $event_date ) {
        $timestamp = strtotime( $event_date );
        update_post_meta( $post_id, '_crb_event_timestamp', $timestamp );
    }
}