Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/elemento.../modules/cloud-li...
File: render-mode-preview.php
<?php
[0] Fix | Delete
namespace Elementor\Modules\CloudLibrary;
[1] Fix | Delete
[2] Fix | Delete
use Elementor\Core\Frontend\RenderModes\Render_Mode_Base;
[3] Fix | Delete
use Elementor\Plugin;
[4] Fix | Delete
use Elementor\Utils;
[5] Fix | Delete
[6] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[7] Fix | Delete
exit; // Exit if accessed directly.
[8] Fix | Delete
}
[9] Fix | Delete
[10] Fix | Delete
class Render_Mode_Preview extends Render_Mode_Base {
[11] Fix | Delete
const ENQUEUE_SCRIPTS_PRIORITY = 1000;
[12] Fix | Delete
[13] Fix | Delete
const MODE = 'cloud-template-preview';
[14] Fix | Delete
[15] Fix | Delete
protected int $template_id;
[16] Fix | Delete
[17] Fix | Delete
public function __construct( $template_id ) {
[18] Fix | Delete
$this->template_id = $template_id;
[19] Fix | Delete
$this->document = $this->create_document();
[20] Fix | Delete
[21] Fix | Delete
Plugin::$instance->db->switch_to_post( $this->document->get_main_id() );
[22] Fix | Delete
[23] Fix | Delete
Plugin::$instance->documents->switch_to_document( $this->document );
[24] Fix | Delete
[25] Fix | Delete
add_filter( 'template_include', [ $this, 'filter_template' ] );
[26] Fix | Delete
[27] Fix | Delete
add_action( 'wp_footer', [ $this, 'cleanup' ], 999 );
[28] Fix | Delete
[29] Fix | Delete
parent::__construct( $this->document->get_main_id() );
[30] Fix | Delete
}
[31] Fix | Delete
[32] Fix | Delete
public static function get_name() {
[33] Fix | Delete
return self::MODE;
[34] Fix | Delete
}
[35] Fix | Delete
[36] Fix | Delete
public function prepare_render() {
[37] Fix | Delete
parent::prepare_render();
[38] Fix | Delete
show_admin_bar( false );
[39] Fix | Delete
}
[40] Fix | Delete
[41] Fix | Delete
public function filter_template() {
[42] Fix | Delete
return ELEMENTOR_PATH . 'modules/page-templates/templates/canvas.php';
[43] Fix | Delete
}
[44] Fix | Delete
[45] Fix | Delete
public function cleanup() {
[46] Fix | Delete
if ( $this->document && $this->document->get_main_id() ) {
[47] Fix | Delete
wp_delete_post( $this->document->get_main_id(), true );
[48] Fix | Delete
}
[49] Fix | Delete
}
[50] Fix | Delete
[51] Fix | Delete
public function enqueue_scripts() {
[52] Fix | Delete
$suffix = ( Utils::is_script_debug() || Utils::is_elementor_tests() ) ? '' : '.min';
[53] Fix | Delete
[54] Fix | Delete
wp_enqueue_script(
[55] Fix | Delete
'cloud-library-screenshot',
[56] Fix | Delete
ELEMENTOR_ASSETS_URL . "/js/cloud-library-screenshot{$suffix}.js",
[57] Fix | Delete
[],
[58] Fix | Delete
ELEMENTOR_VERSION,
[59] Fix | Delete
true
[60] Fix | Delete
);
[61] Fix | Delete
[62] Fix | Delete
$config = [
[63] Fix | Delete
'selector' => '.elementor-' . $this->document->get_main_id(),
[64] Fix | Delete
'home_url' => home_url(),
[65] Fix | Delete
'post_id' => $this->document->get_main_id(),
[66] Fix | Delete
'template_id' => $this->template_id,
[67] Fix | Delete
];
[68] Fix | Delete
[69] Fix | Delete
wp_add_inline_script( 'cloud-library-screenshot', 'var ElementorScreenshotConfig = ' . wp_json_encode( $config ) . ';' );
[70] Fix | Delete
}
[71] Fix | Delete
[72] Fix | Delete
private function create_document() {
[73] Fix | Delete
if ( ! Plugin::$instance->common ) {
[74] Fix | Delete
Plugin::$instance->init_common();
[75] Fix | Delete
}
[76] Fix | Delete
[77] Fix | Delete
$document = Plugin::$instance->templates_manager->get_source( 'cloud' )->create_document_for_preview( $this->template_id );
[78] Fix | Delete
[79] Fix | Delete
if ( is_wp_error( $document ) ) {
[80] Fix | Delete
wp_die();
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
return $document;
[84] Fix | Delete
}
[85] Fix | Delete
}
[86] Fix | Delete
[87] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function