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.
Parameters Parameters
- $post
-
(LLMS_Post_Model) (Required) An LLMS post object.
- $raw
-
(array) (Required) Array of raw data.
Return Return
(void)
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 );
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 7.1.0 | Introduced. |