LLMS_Generator_Courses::set_metadata( LLMS_Post_Model $post, array $raw )

Set all metadata for a given post object.


Description Description

This method will only set metadata for registered LLMS_Post_Model properties.


Top ↑

Parameters Parameters

$post

(LLMS_Post_Model) (Required) An LLMS post object.

$raw

(array) (Required) Array of raw data.


Top ↑

Return Return

(void)


Top ↑

Source Source

File: includes/class-llms-generator-courses.php

	protected function set_metadata( $post, $raw ) {

		$generated_from_id = $post->get( 'generated_from_id' );

		if ( $generated_from_id ) {
			$replace_id_props = array(
				'course_closed_message',
				'course_opens_message',
				'enrollment_closed_message',
				'enrollment_opens_message',
			);

			$find    = '#(.*id=["\'])' . $generated_from_id . '(["\'].*)#';
			$replace = '${1}' . $post->get( 'id' ) . '${2}';

			/**
			 * Replace old post ID with new cloned post ID in course/enrollment
			 * message shortcodes.
			 */
			foreach ( $replace_id_props as $key ) {
				if ( isset( $raw[ $key ] ) ) {
					$raw[ $key ] = preg_replace( $find, $replace, $raw[ $key ] );
				}
			}
		}

		return parent::set_metadata( $post, $raw );
	}


Top ↑

Changelog Changelog

Changelog
Version Description
7.1.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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