WP_REST_Terms_Controller::prepare_item_for_database() – Prepares a single term for create or update.

You appear to be a bot. Output may be restricted

Description

Prepares a single term for create or update.

Usage

$object = WP_REST_Terms_Controller::prepare_item_for_database( $request );

Parameters

$request
( WP_REST_Request ) required – Request object.

Returns

object Term object.

Source

File name: wordpress/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php


Lines:

1 to 54 of 54
  public function prepare_item_for_database( $request ) {
    $prepared_term = new stdClass();

    $schema = $this->WP_REST_Terms_Controller::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 );
  }
 

 View on GitHub View on Trac