LLMS_REST_Posts_Controller::prepare_item_for_response( LLMS_Post_Model $object, WP_REST_Request $request )

Prepare a single item for the REST response


Parameters Parameters

$object

(LLMS_Post_Model) (Required) LLMS post object.

$request

(WP_REST_Request) (Required) Request object.


Top ↑

Return Return

(WP_Error|WP_REST_Response) Response object on success, or WP_Error object on failure.


Top ↑

Source Source

File: libraries/lifterlms-rest/includes/abstracts/class-llms-rest-posts-controller.php

				'protected' => (bool) $password,
			),
			'excerpt'          => array(
				'raw'       => $object->get( 'excerpt', true ),
				'rendered'  => $password_required ? '' : apply_filters( 'the_excerpt', $object->get( 'excerpt' ) ),
				'protected' => (bool) $password,
			),
		);

		return $data;

	}

	/**
	 * Prepares data of a single object for response.
	 *
	 * @since 1.0.0-beta.27
	 *
	 * @param obj             $object  Raw object from database.
	 * @param WP_REST_Request $request Request object.
	 * @return array
	 */
	protected function prepare_object_data_for_response( $object, $request ) {

		// Need to set the global $post because of references to the global $post when e.g. filtering the content, or processing blocks/shortcodes.
		global $post;
		$temp = $post;
		$post = $object->get( 'post' ); // phpcs:ignore
		setup_postdata( $post );

		$removed_filters_for_response = $this->maybe_remove_filters_for_response( $object );

		$has_password_filter = false;

		if ( $this->can_access_password_content( $object, $request ) ) {
			// Allow access to the post, permissions already checked before.
			add_filter( 'post_password_required', '__return_false' );
			$has_password_filter = true;
		}

		$data = parent::prepare_object_data_for_response( $object, $request );

		// Filter data including only schema props.
		$data = array_intersect_key( $data, array_flip( $this->get_fields_for_response( $request ) ) );


Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0-beta.14 Pass the $request parameter to prepare_links().
1.0.0-beta.1 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.