LLMS_Lesson_Handler::duplicate( $post_id )
Contents
Source Source
File: includes/class.llms.lesson.handler.php
public static function duplicate( $post_id ) { // Make sure we have a post id and it returns a post. if ( ! isset( $post_id ) ) { return false; } $post_obj = get_post( $post_id ); // Last check. if ( ! isset( $post_obj ) || null == $post_obj ) { return false; } // No going back now. // Create duplicate post. $args = array( 'comment_status' => $post_obj->comment_status, 'ping_status' => $post_obj->ping_status, 'post_author' => $post_obj->post_author, 'post_content' => $post_obj->post_content, 'post_excerpt' => $post_obj->post_excerpt, 'post_name' => $post_obj->post_name, 'post_parent' => $post_obj->post_parent, 'post_status' => 'publish', 'post_title' => $post_obj->post_title, 'post_type' => $post_obj->post_type, 'to_ping' => $post_obj->to_ping, 'menu_order' => $post_obj->menu_order, 'post_password' => $post_obj->post_password, ); // Create the duplicate post. $new_post_id = wp_insert_post( $args ); if ( $new_post_id ) { // Get all current post terms and set them to the new post. $taxonomies = get_object_taxonomies( $post_obj->post_type ); foreach ( $taxonomies as $taxonomy ) { $post_terms = wp_get_object_terms( $post_obj->ID, $taxonomy, array( 'fields' => 'slugs', ) ); wp_set_object_terms( $new_post_id, $post_terms, $taxonomy, false ); } // Duplicate meta. $insert_meta = self::duplicate_meta( $post_id, $new_post_id ); } return $new_post_id; }
Expand full source code Collapse full source code View on GitHub