PluginProbe ʕ •ᴥ•ʔ
Essential Classy Addons for Elementor – 150+ Widgets, Templates & Performance Tools / 3.0.38
Essential Classy Addons for Elementor – 150+ Widgets, Templates & Performance Tools v3.0.38
3.0.59 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 3.0 3.0.1 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.18 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.24 3.0.25 3.0.26 3.0.27 3.0.28 3.0.29 3.0.3 3.0.30 3.0.31 3.0.32 3.0.33 3.0.34 3.0.35 3.0.36 3.0.37 3.0.38 3.0.39 3.0.4 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.0.46 3.0.47 3.0.48 3.0.49 3.0.5 3.0.50 3.0.51 3.0.52 3.0.53 3.0.54 3.0.55 3.0.56 3.0.57 3.0.58 3.0.6 3.0.7 3.0.8 3.0.9
essential-classy-addons-for-elementor / classes / elementor-document.php
essential-classy-addons-for-elementor / classes Last commit date
builders 1 year ago documents 1 year ago builder-content.php 1 year ago class-helper.php 1 year ago class-loader.php 1 year ago class-panel-options.php 1 year ago conditions-file.php 1 year ago conditions-rules.php 1 year ago elementor-document.php 1 year ago theme-builder.php 1 year ago widgets-passing-lists.php 1 year ago
elementor-document.php
110 lines
1 <?php
2 /**
3 * Essential Classy Addons For Elementor Load
4 *
5 * @package Ecafe
6 * @since 3.0.24
7 */
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit; // Exit if accessed directly.
10 }
11
12
13 if ( ! class_exists( 'Ecafe_Elementor_Builder_Load' ) ) {
14
15 class Ecafe_Elementor_Builder_Load {
16
17 public static $instance = null;
18
19 /**
20 * @var Ecafe_Elementor_Builder_Documents
21 */
22 public $documents;
23
24 /**
25 * Initiator
26 */
27 public static function get_instance() {
28 if ( ! isset( self::$instance ) ) {
29 self::$instance = new self;
30 }
31 return self::$instance;
32 }
33
34 public function __construct() {
35 if ( did_action( 'elementor/loaded' ) && class_exists( '\Elementor\Plugin' ) ) {
36 add_action( 'init', array( $this, 'init_elementor' ), -999 );
37 }
38 add_filter( 'preview_post_link', array( $this, 'ecafe_preview_post_link' ) , 10, 2);
39 }
40
41 /*
42 * Init Elementor Documents
43 */
44 public function init_elementor(){
45 require ECAFE_CLASSES_URL . 'documents/class-ele-builder-documents.php';
46 $this->documents = new Ecafe_Elementor_Builder_Documents();
47 }
48
49 /*
50 * Preview Post Link
51 */
52 public function ecafe_preview_post_link( $link, \WP_Post $post ){
53
54 if( isset($post->post_type) && ECAFE_POST != $post->post_type){
55 return $link;
56 }
57 $curr_post_id = $post->ID;
58 $preview = [];
59
60 $template_type = get_post_meta($curr_post_id, 'ecafe_build_template_type', true);
61 $preview_id = get_post_meta($curr_post_id, 'ecafe_build_display_prev', true);
62
63 if (!empty($preview_id)) {
64 if ($template_type == 'singular') {
65 $preview_type = get_post_meta($curr_post_id, 'ecafe_build_display_singular', true);
66 } elseif ($template_type == 'archives') {
67 $preview_type = get_post_meta($curr_post_id, 'ecafe_build_display_archives', true);
68 }
69
70 if (!empty($preview_type)) {
71 $preview['type'] = $template_type;
72 $preview['preview_type'] = $preview_type;
73 $preview['preview_id'] = $preview_id;
74 }
75 }
76
77 if( isset($preview) && empty($preview)){
78 return $link;
79 }
80
81 if (isset($preview['type'])) {
82 if ($preview['type'] == 'singular') {
83 $post_id = !empty($preview['preview_id']) ? $preview['preview_id'] : $curr_post_id;
84 $link = get_permalink($post_id);
85 } elseif ($preview['type'] == 'archives') {
86 $category_id = !empty($preview['preview_id']) ? $preview['preview_id'] : $curr_post_id;
87 $link = esc_url(get_category_link($category_id));
88 }
89 }
90
91 return add_query_arg(
92 [
93 'preview_nonce' => wp_create_nonce( 'post_preview_' . $curr_post_id ),
94 'ecafe_template' => $curr_post_id,
95 ],
96 $link
97 );
98 }
99 }
100
101 }
102
103 if ( ! function_exists( 'ecafe_theme_builder_load' ) ) {
104
105 function ecafe_theme_builder_load() {
106 return Ecafe_Elementor_Builder_Load::get_instance();
107 }
108 }
109
110 ecafe_theme_builder_load();