WP_REST_Posts_Controller::handle_terms() – Updates the post’s terms from a REST request.

You appear to be a bot. Output may be restricted

Description

Updates the post's terms from a REST request.

Usage

$null|WP_Error = WP_REST_Posts_Controller::handle_terms( $post_id, $request );

Parameters

$post_id
( int ) required – The post ID to update the terms form.
$request
( WP_REST_Request ) required – The request object with post and terms data.

Returns

null|WP_Error WP_Error on an error assigning any of the terms, otherwise null.

Source

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

1 to 17 of 17
  protected function handle_terms( $post_id, $request ) {
    $taxonomies = wp_list_filter( get_object_taxonomies( $this->post_type, 'objects' ), array( 'show_in_rest' => true ) );

    foreach ( $taxonomies as $taxonomy ) {
      $base = ! empty( $taxonomy->rest_base ) ? $taxonomy->rest_base : $taxonomy->name;

      if ( ! isset( $request[ $base ] ) ) {
        continue;
      }

      $result = wp_set_object_terms( $post_id, $request[ $base ], $taxonomy->name );

      if ( is_wp_error( $result ) ) {
        return $result;
      }
    }
  }
 

 View on GitHub View on Trac