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 +106 -5 1.3trunk View file →
@@ -3,20 +3,121 @@
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 -
12 - if(is_array($xyz_snippet_name)){
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
111 + }
112 + if(is_array($xyz_snippet_name)&& isset($xyz_snippet_name['snippet'])){
113 +
13 114 $snippet_name = $xyz_snippet_name['snippet'];
14 115
15 116 $query = $wpdb->get_results($wpdb->prepare( "SELECT * FROM ".$wpdb->prefix."xyz_ihs_short_code WHERE title=%s" ,$snippet_name));
16 117
17 - if(count($query)>0){
18 -
118 + if(!empty($query))//if(count($query)>0)
119 + {
19 120 foreach ($query as $sippetdetails){
20 121 if($sippetdetails->status==1)
21 122 return do_shortcode($sippetdetails->content) ;
22 123 else
@@ -32,5 +133,5 @@
32 133 }
33 134 }
34 135
35 136
36 -add_filter('widget_text', 'do_shortcode'); // to run shortcodes in text widgets
137 +add_filter('widget_text', 'do_shortcode'); // to run shortcodes in text widgets