/** * Singleton pattern * @return OptimizePress_Admin_ClonePage */ public static function getInstance() { if (null === self::$instance) { self::$instance = new self(); } return self::$instance; }
/** * Clones the page * @return void */ function clonePage() { $id = (int) filter_input(INPUT_GET, 'page_id', FILTER_SANITIZE_NUMBER_INT); if (empty($id)) { wp_die(__('No page ID to duplicate has been provided!', OP_SN)); } require_once OP_ADMIN . 'clone_page.php'; $newId = OptimizePress_Admin_ClonePage::getInstance()->clonePage($id); wp_redirect(admin_url('post.php?action=edit&post=' . $newId)); }
/** * Copies LiveEditor page from original page to translation page - post_layouts table and all postmeta information * @since 2.5.1.2 * @return void */ function setElementLanguageOriginal($translation_id, $el_id, $language_code, $trid) { if (isset($_POST['icl_copyOPTranslation']) && isset($_POST['icl_translation_of'])) { $postTranslation_id = intval($_POST['icl_translation_of']); $checkIfLEPage = get_post_meta($postTranslation_id, '_optimizepress_pagebuilder', true); if ($checkIfLEPage == 'Y') { require_once OP_ADMIN . 'clone_page.php'; OptimizePress_Admin_ClonePage::getInstance()->cloneOpData($postTranslation_id, $el_id); $post_meta_keys = get_post_custom_keys($postTranslation_id); if (empty($post_meta_keys)) { return; } foreach ($post_meta_keys as $meta_key) { $meta_values = get_post_custom_values($meta_key, $postTranslation_id); foreach ($meta_values as $meta_value) { $meta_value = maybe_unserialize($meta_value); update_post_meta($el_id, $meta_key, $meta_value); } } } } }