acfAdvanced Custom Fields Abilities
Custom fields integration. Structured meta beyond the core post fields.
edit_posts 4Available Tools (4)
acf_get_fieldedit_postsGet a single ACF (Advanced Custom Fields) field value from a post, formatted per the field's Return Format setting (image arrays, post objects, parsed repeater rows, etc.). Use this instead of wp_get_post_meta when ACF is active: wp_get_post_meta returns the raw serialized value, this returns the hydrated value the ACF UI would show.
Parameter Schema2 parameters
{
"type": "object",
"properties": {
"field_name": {
"type": "string",
"description": "ACF field name or field key (e.g. \"subtitle\" or \"field_abc123\")"
},
"post_id": {
"type": "integer",
"description": "Post or page ID"
}
},
"required": [
"field_name",
"post_id"
]
}acf_get_fieldsedit_postsGet every ACF field defined for a post in one call, with each field's name, label, type, and formatted value. The most efficient way for an AI agent to discover what ACF fields exist on a post and read them all without round-trips.
Parameter Schema1 parameter
{
"type": "object",
"properties": {
"post_id": {
"type": "integer",
"description": "Post or page ID"
}
},
"required": [
"post_id"
]
}acf_update_fieldedit_postsUpdate an ACF field value on a post. Accepts the field name (or field key) and a value matching the field type: scalar for text/number/select-single, array for repeater rows / flexible content / select-multi, post ID for post_object/relationship, attachment ID for image/file. ACF stores it correctly per field type.
Parameter Schema3 parameters
{
"type": "object",
"properties": {
"field_name": {
"type": "string",
"description": "ACF field name or field key"
},
"post_id": {
"type": "integer",
"description": "Post or page ID"
},
"value": {
"description": "New value. Type depends on the field type; see ACF documentation."
}
},
"required": [
"field_name",
"post_id",
"value"
]
}acf_get_field_groupsedit_postsEnumerate ACF field groups on this site with the fields they contain. Optionally filter by post type to discover which field groups apply to a given content type. Use this to discover what custom fields are available before reading or writing them.
Parameter Schema1 parameter
{
"type": "object",
"properties": {
"post_type": {
"type": "string",
"description": "Optional post type slug (e.g. \"post\", \"page\", \"product\") returns only field groups attached to that post type. Omit to return all field groups."
}
}
}