WP_REST_Terms_Controller::prepare_item_for_database( WP_REST_Request $request ): object
- Since
- 4.7.0
- Source
wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php:839
Prepares a single term for create or update.
Parameters
$requestWP_REST_Request- Request object.
Return
object- Term object.
Hooks fired · 1
One hook fires while WP_REST_Terms_Controller::prepare_item_for_database() runs, in this order:
- apply_filters( rest_pre_insert_{$this->taxonomy} )filterline 889 (+50 into the body)
Filters term data before inserting term via the REST API.
Uses · 4
- get_term()Gets all term data from database by term ID.
- apply_filters()Calls the callback functions that have been added to a filter hook.
- stdClass::__construct()
- WP_REST_Terms_Controller::get_item_schema()Retrieves the term's schema, conforming to JSON Schema.
Used by · 3
- WP_REST_Menus_Controller::prepare_item_for_database()Prepares a single term for create or update.
- WP_REST_Terms_Controller::create_item()Creates a single term in a taxonomy.
- WP_REST_Terms_Controller::update_item()Updates a single term from a taxonomy.
Source
public function prepare_item_for_database( $request ) { $prepared_term = new stdClass(); $schema = $this->get_item_schema(); if ( isset( $request['name'] ) && ! empty( $schema['properties']['name'] ) ) { $prepared_term->name = $request['name']; } if ( isset( $request['slug'] ) && ! empty( $schema['properties']['slug'] ) ) { $prepared_term->slug = $request['slug']; } if ( isset( $request['taxonomy'] ) && ! empty( $schema['properties']['taxonomy'] ) ) { $prepared_term->taxonomy = $request['taxonomy']; } if ( isset( $request['description'] ) && ! empty( $schema['properties']['description'] ) ) { $prepared_term->description = $request['description']; } if ( isset( $request['parent'] ) && ! empty( $schema['properties']['parent'] ) ) { $parent_term_id = 0; $requested_parent = (int) $request['parent']; if ( $requested_parent ) { $parent_term = get_term( $requested_parent, $this->taxonomy ); if ( $parent_term instanceof WP_Term ) { $parent_term_id = $parent_term->term_id; } } $prepared_term->parent = $parent_term_id; } /** * Filters term data before inserting term via the REST API. * * The dynamic portion of the hook name, `$this->taxonomy`, refers to the taxonomy slug. * * Possible hook names include: * * - `rest_pre_insert_category` * - `rest_pre_insert_post_tag` * * @since 4.7.0 * * @param object $prepared_term Term object. * @param WP_REST_Request $request Request object. */ return apply_filters( "rest_pre_insert_{$this->taxonomy}", $prepared_term, $request ); }History
Introduced in 4.7.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, from
src/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.