PluginProbe
Insert Html Snippet / trunk
Insert Html Snippet vtrunk
1.4.6 trunk 1.0 1.0.1 1.1 1.1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.4 1.4.1 1.4.2 1.4.3 All 27 releases
← All changes | shortcode-handler.php +100 -3 1.3.6trunk View file →
@@ -3,15 +3,112 @@
3 3 exit;
4 4
5 5 global $wpdb;
6 6
7 +include_once 'admin/constants.php';
7 8 add_shortcode('xyz-ihs','xyz_ihs_display_content');
9 +$table_name = $wpdb->prefix . 'xyz_ihs_short_code';
10 +$snippets = $wpdb->get_results("SELECT * FROM $table_name WHERE insertionMethod = 1 AND status = 1");
8 11
12 +
13 +foreach ($snippets as $snippet) {
14 +
15 + switch ($snippet->insertionLocation) {
16 +
17 +
18 + case XYZ_IHS_INSERTION_LOCATION['ADMIN_RUN_ON_HEADER']:
19 + if (is_admin()) {
20 + add_action('admin_head', function() use ($snippet) {
21 + echo xyz_execute_ihs_snippet($snippet);
22 + }, 10);
23 + }
24 +
25 + break;
26 + case XYZ_IHS_INSERTION_LOCATION['ADMIN_RUN_ON_FOOTER']:
27 + if (is_admin()) {
28 +
29 +
30 + add_action('admin_footer', function() use ($snippet) {
31 + echo xyz_execute_ihs_snippet($snippet);
32 + }, 10);
33 + }
34 +
35 + break;
36 +
37 +
38 +
39 + case XYZ_IHS_INSERTION_LOCATION['FRONTEND_RUN_ON_HEADER']:
40 + if (!is_admin()) {
41 + add_action('wp_head', function() use ($snippet) {
42 + echo xyz_execute_ihs_snippet($snippet);
43 + }, 10);
44 + }
45 +
46 + break;
47 +
48 + case XYZ_IHS_INSERTION_LOCATION['FRONTEND_RUN_ON_FOOTER']:
49 + if (!is_admin()) {
50 +
51 +
52 + add_action('wp_footer', function() use ($snippet) {
53 +
54 + echo xyz_execute_ihs_snippet($snippet);
55 +
56 + }, 10);
57 + }
58 +
59 + break;
60 +
61 +
62 +
63 +
64 +
65 +
66 + }
67 +}
68 +
69 +function xyz_execute_ihs_snippet($sippetdetails)
70 +{
71 +
72 +if($sippetdetails->status==1){
73 + $xyz_ihs_content=$sippetdetails->content;
74 + if (!empty($xyz_ihs_content)) {
75 + return $xyz_ihs_content;
76 + } else {
77 + return '';
78 + }
79 +
80 + }
81 + else{
82 + return '';
83 + }
84 +
85 +
86 +}
87 +/* customization ends */
88 +
9 89 function xyz_ihs_display_content($xyz_snippet_name){
10 90 global $wpdb;
11 - if (is_admin() || ( defined( 'REST_REQUEST' ) && REST_REQUEST ))
12 - {
13 - return ''; // Do not execute the shortcode in the admin area
91 + $xyz_ihs_exec_in_editor = get_option('xyz_ihs_exec_in_editor');
92 + if ( $xyz_ihs_exec_in_editor ) {
93 + // Page Builder checks (Elementor, WPBakery, Divi, Beaver Builder)
94 + if ( wp_doing_ajax() ) {
95 + $builder_actions = ['elementor_preview', 'wpb_pb_preview', 'et_pb_preview'];
96 + // Check for Elementor, WPBakery, Divi actions
97 + if ( isset( $_REQUEST['action'] ) && in_array( $_REQUEST['action'], $builder_actions, true ) ) {
98 + // Allow shortcode execution in page builder previews
99 + }
100 + // Beaver Builder detection using URL parameters
101 + if ( isset( $_REQUEST['fl_builder'] ) && isset( $_REQUEST['fl_builder'] ) ) {
102 + // Allow execution for Beaver Builder preview
103 + }
104 + }
105 + // Classic Editor or Gutenberg Editor check (editing posts)
106 + if ( is_admin() && isset( $_GET['post'] ) && 'edit' === $_GET['action'] ) {
107 + // Allow shortcode execution in Classic Editor or Gutenberg (when editing posts)
108 + }
109 + } elseif ( is_admin() || ( defined( 'REST_REQUEST' ) && REST_REQUEST ) ) {
110 + return ''; // Do not execute shortcode in other admin areas or REST API requests
14 111 }
15 112 if(is_array($xyz_snippet_name)&& isset($xyz_snippet_name['snippet'])){
16 113
17 114 $snippet_name = $xyz_snippet_name['snippet'];