Hidden Input
A field that stores a value without displaying an editable input to editors. Supports a static default value or dynamic tokens that resolve at save time — useful for recording metadata like which user saved a post, the save date, or the current post ID.
Pro field
Hidden Input requires the Extra Fields for ACF Pro license.
Settings
| Setting | Default | Options | Description |
|---|---|---|---|
| Default Value | (empty) | Any string | Static value stored when no dynamic token is selected. |
| Dynamic Token | (none) | user_id · post_id · date · time | Auto-populates the field with a resolved value at save time. |
| Auto Update | false | on/off | Re-evaluate and overwrite the token value on every save (not just the first). |
Dynamic tokens
| Token | Resolves to |
|---|---|
{{user_id}} | Current logged-in user’s ID |
{{post_id}} | Current post’s ID |
{{date}} | Current date in Y-m-d format |
{{time}} | Current time in H:i:s format |
Return values
Returns a plain string — the static default or the resolved token value.
$user_id = get_field('created_by');
// "42"
$save_date = get_field('last_modified_date');
// "2026-06-15"
Usage
Recording who created a post
- Add a Hidden Input field named
created_by. - Set Dynamic Token to
{{user_id}}. - Leave Auto Update disabled (so it only captures the original author).
$creator_id = (int) get_field('created_by');
$creator = get_userdata($creator_id);
if ($creator) {
echo 'Posted by: ' . esc_html($creator->display_name);
}
Tracking the last save date
- Add a Hidden Input named
last_saved. - Set Dynamic Token to
{{date}}. - Enable Auto Update so it refreshes on every save.
$saved = get_field('last_saved');
if ($saved) {
echo 'Last updated: ' . esc_html(date_format(date_create($saved), 'F j, Y'));
}
Static version flag
- Add a Hidden Input named
schema_version. - Set Default Value to
2(or whatever your current schema version is). - No token needed.
$version = get_field('schema_version');
if ((int)$version < 2) {
// Run a migration for old posts
}
Querying by saved date
// Get posts saved today
$posts = get_posts([
'meta_query' => [[
'key' => 'last_saved',
'value' => date('Y-m-d'),
]],
]);