wppaste
WordPress

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:

  1. 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

Used by · 3

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.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 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.