nonceText ) || ! $page_type ) { $return = [ 'success' => false, 'post_id' => $page_id, ]; wp_send_json( $return ); } if ( ! current_user_can( 'manage_options' ) ) { $return = [ 'success' => false, 'post_id' => $page_id, ]; wp_send_json( $return ); } add_filter( 'pre_option_elementor_unfiltered_files_upload', function () { return '1'; }, 99 ); Plugin::$instance->files_manager->clear_cache(); add_filter( 'rtsb_import_status', '__return_true' ); $option_name = BuilderFns::option_name( $page_type ); $post_data = [ 'ID' => $page_id, 'post_title' => $page_name, 'meta_input' => [ BuilderFns::template_type_meta_key() => $page_type, ], ]; if ( 'elementor' == $edit_with ) { $post_data['meta_input']['_elementor_edit_mode'] = 'builder'; } elseif ( 'gutenberg' == $edit_with ) { $post_data['meta_input']['_elementor_edit_mode'] = ''; } if ( $page_id ) { $page_id = wp_update_post( $post_data ); $new_page = false; } else { unset( $post_data['ID'] ); $post_data['post_type'] = BuilderFns::$post_type_tb; $post_data['post_status'] = 'publish'; $page_id = wp_insert_post( $post_data ); $new_page = true; if ( 'elementor' == $edit_with ) { update_post_meta( $page_id, '_wp_page_template', 'elementor_header_footer' ); update_post_meta( $page_id, '_elementor_version', ELEMENTOR_VERSION ); } } $edit_by = ''; if ( $page_id ) { $edit_by = Fns::page_edit_with( $page_id ); $template_for = sanitize_text_field( wp_unslash( $_POST['product_page_for'] ?? '' ) ); $selected_category = array_unique( isset( $_POST['selected_category'] ) && is_array( $_POST['selected_category'] ) ? array_map( 'sanitize_text_field', $_POST['selected_category'] ) : [] ); //phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash if ( 'product' == $page_type ) { update_post_meta( $page_id, BuilderFns::$product_template_meta, $product_id ); update_post_meta( $page_id, '_is_product_page_template_for', $template_for ); } $has_default = TemplateSettings::instance()->get_option( $option_name ); if ( ( 'product' === $page_type && 'all_products' !== $template_for ) || ( 'archive' === $page_type && count( $selected_category ) ) ) { if ( ! $has_default ) { TemplateSettings::instance()->set_option( $option_name, '' ); } } else { if ( 'default_template' === $default_template ) { TemplateSettings::instance()->set_option( $option_name, $page_id ); } else { if ( ! $has_default ) { TemplateSettings::instance()->set_option( $option_name, '' ); } } } $action = 'edit'; if ( 'elementor' === $edit_by ) { $action = 'elementor'; } $url = add_query_arg( [ 'post' => $page_id, 'action' => $action, ], admin_url( 'post.php' ) ); if ( ! empty( $layoutJson ) && is_array( $layoutJson ) ) { $content = wp_slash( wp_json_encode( $layoutJson ) ); update_post_meta( $page_id, '_elementor_data', $content ); update_post_meta( $page_id, '_rtsb_import_id', $import_layout ); } } do_action( 'rtsb/after/create/and/edit/builder/template', $_POST, $page_id ); $return = [ 'success' => true, 'post_id' => $page_id, 'post_edit_url' => $url, 'new_page' => $new_page, ]; if ( $edit_by ) { $return['edit_btn_text'] = sprintf( /* translators: %s: Edit */ esc_html__( 'Edit with %s', 'shopbuilder' ), esc_html( $edit_by ) ); } wp_send_json( $return ); wp_die(); } }