LLMS_REST_Memberships_Controller::prepare_object_for_response( LLMS_Membership $membership, WP_REST_Request $request )

Prepare a single object output for response.


Parameters Parameters

$membership

(LLMS_Membership) (Required) Membership object.

$request

(WP_REST_Request) (Required) Full details about the request.


Top ↑

Return Return

(array)


Top ↑

Source Source

File: libraries/lifterlms-rest/includes/server/class-llms-rest-memberships-controller.php

		/**
		 * Filters the membership's links.
		 *
		 * @since 1.0.0-beta.9
		 *
		 * @param array           $links      Links for the given membership.
		 * @param LLMS_Membership $membership LLMS Membership object.
		 */
		$links = apply_filters( 'llms_rest_membership_links', $links, $membership );

		return $links;
	}

	/**
	 * Prepare a single object output for response.
	 *
	 * @since 1.0.0-beta.9
	 *
	 * @param LLMS_Membership $membership Membership object.
	 * @param WP_REST_Request $request    Full details about the request.
	 * @return array
	 */
	protected function prepare_object_for_response( $membership, $request ) {
		$data    = parent::prepare_object_for_response( $membership, $request );
		$context = $request->get_param( 'context' );

		// Auto enroll.
		$data['auto_enroll'] = $membership->get_auto_enroll_courses();

		// Catalog visibility.
		$data['catalog_visibility'] = $membership->get_product()->get_catalog_visibility();

		// Categories.
		$data['categories'] = $membership->get_categories(
			array(
				'fields' => 'ids',
			)
		);

		// Instructors.
		$instructors         = $membership->get_instructors();
		$instructors         = empty( $instructors ) ? array() : wp_list_pluck( $instructors, 'id' );
		$data['instructors'] = $instructors;

		// Restriction action.
		$data['restriction_action'] = $membership->get( 'restriction_redirect_type' );
		$data['restriction_action'] = $data['restriction_action'] ? $data['restriction_action'] : 'none';

		// Restriction message.
		$data['restriction_message'] = array(
			'raw'      => $membership->get( 'restriction_notice', $raw = true ),
			'rendered' => do_shortcode( $membership->get( 'restriction_notice' ) ),
		);

		// Restriction page id.
		if ( 'page' === $data['restriction_action'] || 'edit' === $context ) {
			$data['restriction_page_id'] = $membership->get( 'redirect_page_id' );
		}

		// Restriction URL.
		if ( 'custom' === $data['restriction_action'] || 'edit' === $context ) {
			$data['restriction_url'] = $membership->get( 'redirect_custom_url' );
		}

		// Tags.
		$data['tags'] = $membership->get_tags(
			array(
				'fields' => 'ids',
			)
		);

		// Sales page type.
		$data['sales_page_type'] = $membership->get( 'sales_page_content_type' );
		$data['sales_page_type'] = $data['sales_page_type'] ? $data['sales_page_type'] : 'none';



Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0-beta.9 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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