PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.15.2
Shortcodes and extra features for Phlox theme v2.15.2
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elementor / modules / theme-builder / classes / preview-manager.php
auxin-elements / includes / elementor / modules / theme-builder / classes Last commit date
locations-manager.php 3 years ago preview-manager.php 5 years ago
preview-manager.php
77 lines
1 <?php
2 namespace Auxin\Plugin\CoreElements\Elementor\Modules\ThemeBuilder\Classes;
3
4 use Elementor\Plugin;
5 use Auxin\Plugin\CoreElements\Elementor\Modules\ThemeBuilder\Module;
6 use Auxin\Plugin\CoreElements\Elementor\Modules\ThemeBuilder\Theme_Document;
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit; // Exit if accessed directly
10 }
11
12 class Preview_Manager {
13
14 public function __construct() {
15 add_filter( 'elementor/query_control/get_query_args/current_query', [ $this, 'filter_query_control_args' ] );
16 add_filter( 'elementor/theme/posts_archive/query_posts/query_vars', [ $this, 'filter_query_control_args' ] );
17 add_filter( 'elementor/dynamic_tags/post_terms/taxonomy_args', [ $this, 'filter_post_terms_taxonomy_arg' ] );
18
19 add_action( 'elementor/template-library/before_get_source_data', [ $this, 'switch_to_preview_query' ] );
20 add_action( 'elementor/template-library/after_get_source_data', [ $this, 'restore_current_query' ] );
21 add_action( 'elementor/dynamic_tags/before_render', [ $this, 'switch_to_preview_query' ] );
22 add_action( 'elementor/dynamic_tags/after_render', [ $this, 'restore_current_query' ] );
23 }
24
25 public function filter_post_terms_taxonomy_arg( $taxonomy_args ) {
26 $current_post_id = get_the_ID();
27 $document = Module::instance()->get_document( $current_post_id );
28
29 if ( $document ) {
30 // Show all taxonomies
31 unset( $taxonomy_args['object_type'] );
32 }
33
34 return $taxonomy_args;
35 }
36
37 /**
38 * @access public
39 *
40 * @param $query_vars array
41 *
42 * @return array
43 */
44 public function filter_query_control_args( $query_vars ) {
45 $document = Plugin::instance()->documents->get_doc_or_auto_save( get_the_ID() );
46
47 if ( $document && $document instanceof Theme_Document ) {
48 $query_vars = $document->get_preview_as_query_args();
49 }
50
51 return $query_vars;
52 }
53
54 /**
55 * @access public
56 */
57 public function switch_to_preview_query() {
58 $current_post_id = get_the_ID();
59 $document = Plugin::instance()->documents->get_doc_or_auto_save( $current_post_id );
60
61 if ( ! $document || ! $document instanceof Theme_Document ) {
62 return;
63 }
64
65 $new_query_vars = $document->get_preview_as_query_args();
66
67 Plugin::instance()->db->switch_to_query( $new_query_vars, true );
68 }
69
70 /**
71 * @access public
72 */
73 public function restore_current_query() {
74 Plugin::instance()->db->restore_current_query();
75 }
76 }
77