LLMS_Lesson_Handler::duplicate_meta( $post_id, $new_post_id )
Contents
Source Source
File: includes/class.llms.lesson.handler.php
public static function duplicate_meta( $post_id, $new_post_id ) {
global $wpdb;
// phpcs:disable WordPress.DB.PreparedSQL.NotPrepared
// phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared
// Duplicate all post meta.
$post_meta_infos = $wpdb->get_results( "SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id" );
if ( count( $post_meta_infos ) != 0 ) {
$sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) ";
foreach ( $post_meta_infos as $meta_info ) {
// Do not copy the following meta values.
if ( '_llms_parent_section' === $meta_info->meta_key ) {
$meta_info->meta_value = '';
}
if ( '_llms_parent_course' === $meta_info->meta_key ) {
$meta_info->meta_value = '';
}
if ( '_prerequisite' === $meta_info->meta_key ) {
$meta_info->meta_value = '';
}
if ( '_has_prerequisite' === $meta_info->meta_key ) {
$meta_info->meta_value = '';
}
$meta_key = $meta_info->meta_key;
$meta_value = addslashes( $meta_info->meta_value );
$sql_query_sel[] = "SELECT $new_post_id, '$meta_key', '$meta_value'";
}
$sql_query .= implode( ' UNION ALL ', $sql_query_sel );
$insert_post_meta = $wpdb->query( $sql_query );
return $insert_post_meta;
}
// phpcs:enable WordPress.DB.PreparedSQL.NotPrepared
// phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared
}
Expand full source code Collapse full source code View on GitHub