LLMS_REST_Lessons_Controller::update_additional_object_fields( LLMS_Lesson $lesson, WP_REST_Request $request, array $schema, array $prepared_item, bool $creating = true )

Updates a single llms lesson.


Parameters Parameters

$lesson

(LLMS_Lesson) (Required) LLMS_Lesson instance.

$request

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

$schema

(array) (Required) The item schema.

$prepared_item

(array) (Required) Array.

$creating

(bool) (Optional) Whether we're in creation or update phase. Default true (create).

Default value: true


Top ↑

Return Return

(bool|WP_Error) True on success or false if nothing to update, WP_Error object if something went wrong during the update.


Top ↑

Source Source

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

	/**
	 * Updates a single llms lesson.
	 *
	 * @since 1.0.0-beta.7
	 * @since 1.0.0-beta.8 Call `set_bulk()` llms post method passing `true` as second parameter,
	 *                     so to instruct it to return a WP_Error on failure.
	 * @since 1.0.0-beta.25 Allow updating meta with the same value as the stored one.
	 *
	 * @param LLMS_Lesson     $lesson        LLMS_Lesson instance.
	 * @param WP_REST_Request $request       Full details about the request.
	 * @param array           $schema        The item schema.
	 * @param array           $prepared_item Prepared item array.
	 * @param bool            $creating      Optional. Whether we're in creation or update phase. Default true (create).
	 * @return bool|WP_Error True on success or false if nothing to update, WP_Error object if something went wrong during the update.
	 */
	protected function update_additional_object_fields( $lesson, $request, $schema, $prepared_item, $creating = true ) {

		$error = new WP_Error();

		$to_set = array();

		// Prerequisite.
		if ( ! empty( $schema['properties']['prerequisite'] ) && isset( $request['prerequisite'] ) ) {

			// check if lesson exists.
			$prerequisite = llms_get_post( $request['prerequisite'] );

			if ( is_a( $prerequisite, 'LLMS_Lesson' ) ) {
				$to_set['prerequisite'] = $request['prerequisite'];
			} else {
				$to_set['prerequisite'] = 0;
			}
		}

		// Needed until the following will be implemented: https://github.com/gocodebox/lifterlms/issues/908.
		$to_set['has_prerequisite'] = empty( $to_set['prerequisite'] ) ? 'no' : 'yes';



Top ↑

Changelog Changelog

Changelog
Version Description
1.0.0-beta.8 Call set_bulk() llms post method passing true as second parameter, so to instruct it to return a WP_Error on failure.
1.0.0-beta.7
1.0.0-beta.25 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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