Changeset 3369450
- Timestamp:
- 09/29/2025 06:26:28 AM (6 months ago)
- Location:
- header-footer-builder-for-elementor
- Files:
-
- 40 added
- 5 edited
-
tags/1.0.1 (added)
-
tags/1.0.1/LICENSE.txt (added)
-
tags/1.0.1/README.MD (added)
-
tags/1.0.1/assets (added)
-
tags/1.0.1/assets/css (added)
-
tags/1.0.1/assets/css/editor-warning.css (added)
-
tags/1.0.1/assets/css/turbo-footer-template-popup.css (added)
-
tags/1.0.1/assets/css/turbo-header-style.css (added)
-
tags/1.0.1/assets/css/turbo-header-template-popup.css (added)
-
tags/1.0.1/assets/images (added)
-
tags/1.0.1/assets/images/turbo-logo.png (added)
-
tags/1.0.1/assets/images/turboFile.svg (added)
-
tags/1.0.1/assets/js (added)
-
tags/1.0.1/assets/js/turbo-footer-conditions-popup.js (added)
-
tags/1.0.1/assets/js/turbo-footer-template-popup.js (added)
-
tags/1.0.1/assets/js/turbo-header-behavior.js (added)
-
tags/1.0.1/assets/js/turbo-header-conditions-popup.js (added)
-
tags/1.0.1/assets/js/turbo-header-template-popup.js (added)
-
tags/1.0.1/assets/vendor (added)
-
tags/1.0.1/assets/vendor/select2 (added)
-
tags/1.0.1/assets/vendor/select2/select2.min.css (added)
-
tags/1.0.1/assets/vendor/select2/select2.min.js (added)
-
tags/1.0.1/header-footer-builder-for-elementor.php (added)
-
tags/1.0.1/header-footer-template (added)
-
tags/1.0.1/header-footer-template/footer-builder (added)
-
tags/1.0.1/header-footer-template/footer-builder/turbo-footer-render.php (added)
-
tags/1.0.1/header-footer-template/footer-builder/turbo-footer-template.php (added)
-
tags/1.0.1/header-footer-template/header-builder (added)
-
tags/1.0.1/header-footer-template/header-builder/turbo-header-render.php (added)
-
tags/1.0.1/header-footer-template/header-builder/turbo-header-template.php (added)
-
tags/1.0.1/header-footer-template/header-footer-menu (added)
-
tags/1.0.1/header-footer-template/header-footer-menu/header-footer-menu.php (added)
-
tags/1.0.1/helper (added)
-
tags/1.0.1/helper/helper.php (added)
-
tags/1.0.1/languages (added)
-
tags/1.0.1/languages/advance-woocommerce-product-grid-for-elementor-bn_BD.mo (added)
-
tags/1.0.1/languages/advance-woocommerce-product-grid-for-elementor-fr_FR.mo (added)
-
tags/1.0.1/templates (added)
-
tags/1.0.1/templates/single-tahefobu_footer_template.php (added)
-
tags/1.0.1/templates/single-tahefobu_header_template.php (added)
-
trunk/README.MD (modified) (2 diffs)
-
trunk/header-footer-builder-for-elementor.php (modified) (3 diffs)
-
trunk/header-footer-template/footer-builder/turbo-footer-render.php (modified) (1 diff)
-
trunk/header-footer-template/header-builder/turbo-header-render.php (modified) (1 diff)
-
trunk/helper/helper.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
header-footer-builder-for-elementor/trunk/README.MD
r3368816 r3369450 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 1.0. 07 Stable tag: 1.0.1 8 8 License: GPLv3 9 9 License URI: https://opensource.org/licenses/GPL-3.0 10 10 11 ** Create custom header & footer in Elementor** easily with Header Footer Builder. Beginner-friendly, optimized & fully compatible with Elementor.11 **Elementor Header & Footer Builder plugin** for WordPress & WooCommerce. Beginner-friendly, eCommerce-ready, optimized and fully compatible Plugin. 12 12 13 13 == Description == … … 161 161 ## Changelog 162 162 163 ### Version 1.0.1 164 * Fixed: Icons (Font Awesome / Elementor icons) not displaying on frontend. 165 * Improved: Rendering logic for Elementor templates to ensure icons display correctly. 166 163 167 ### Version 1.0.0 164 168 * Initial release with header and footer builder functionality -
header-footer-builder-for-elementor/trunk/header-footer-builder-for-elementor.php
r3368800 r3369450 4 4 * Plugin URI: https://wp-turbo.com/header-footer-builder-for-elementor/ 5 5 * Description: Create and manage your website's header and footer sections with ease using Elementor and WooCommerce, ensuring a seamless design across your entire site. 6 * Version: 1.0. 06 * Version: 1.0.1 7 7 * Requires Plugins: elementor 8 8 * Author: turbo addons … … 102 102 define( 'TAHEFOBU_HEADER_FOOTER_BUILDER_FOR_ELEMENTOR_PLUGIN_URL', trailingslashit( plugins_url( '/', __FILE__ ) ) ); 103 103 define( 'TAHEFOBU_HEADER_FOOTER_BUILDER_FOR_ELEMENTOR_PLUGIN_PATH', trailingslashit( plugin_dir_path( __FILE__ ) ) ); 104 define( 'TAHEFOBU_HEADER_FOOTER_BUILDER_FOR_ELEMENTOR_PLUGIN_VERSION', '1.0. 0' );104 define( 'TAHEFOBU_HEADER_FOOTER_BUILDER_FOR_ELEMENTOR_PLUGIN_VERSION', '1.0.1' ); 105 105 } 106 106 … … 214 214 false, // no file, just for inline use 215 215 [], 216 '1.0. 0'216 '1.0.1' 217 217 ); 218 218 wp_enqueue_style( 'tahefobu-frontend' ); -
header-footer-builder-for-elementor/trunk/header-footer-template/footer-builder/turbo-footer-render.php
r3368800 r3369450 110 110 if ( ! empty( $content ) ) { 111 111 echo '<div class="turbo-footer-template">'; 112 // echo wp_kses_post( $content, tahefobu_hf_allowed_html() ); 113 echo wp_kses( $content, tahefobu_hf_allowed_html() ); 112 // Elementor already escapes/sanitizes template content. 113 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 114 echo $content; 114 115 echo '</div>'; 115 116 } 116 117 } 117 118 }); 118 119 119 120 120 /** -
header-footer-builder-for-elementor/trunk/header-footer-template/header-builder/turbo-header-render.php
r3368800 r3369450 66 66 67 67 echo '<div id="tahefobu-header" class="' . esc_attr( implode( ' ', $classes ) ) . '" data-sticky="' . esc_attr( $sticky_attr ) . '" data-animation="' . esc_attr( $anim_attr ) . '">'; 68 echo wp_kses( $content, tahefobu_hf_allowed_html() ); 68 // Elementor already escapes/sanitizes template content. 69 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped 70 echo $content; 69 71 echo '</div>'; 70 72 -
header-footer-builder-for-elementor/trunk/helper/helper.php
r3368800 r3369450 6 6 if ( ! function_exists( 'tahefobu_hf_allowed_html' ) ) { 7 7 /** 8 * Allowed HTML for rendering Elementor template output safely ( icons need SVG).8 * Allowed HTML for rendering Elementor template output safely (with icon support). 9 9 */ 10 10 function tahefobu_hf_allowed_html() { 11 11 $allowed = wp_kses_allowed_html( 'post' ); 12 12 13 // Allow Elementor icons (SVG) 13 // ✅ Allow Elementor/FontAwesome <i> tags 14 $allowed['i'] = [ 15 'class' => true, 16 'aria-hidden' => true, 17 'data-*' => true, // catch-all for Elementor’s dynamic data attributes 18 ]; 19 20 // ✅ Allow Elementor <span> wrappers 21 $allowed['span'] = [ 22 'class' => true, 23 'aria-hidden' => true, 24 'data-*' => true, 25 ]; 26 27 // ✅ Allow SVG (used in Elementor icons) 14 28 $allowed['svg'] = [ 15 'class' => true, 16 'xmlns' => true, 17 'viewBox' => true, 18 'width' => true, 19 'height' => true, 20 'fill' => true, 21 'aria-hidden' => true, 22 'role' => true, 23 'focusable' => true, 29 'class' => true, 30 'xmlns' => true, 31 'xmlns:xlink' => true, 32 'xlink' => true, 33 'viewBox' => true, 34 'width' => true, 35 'height' => true, 36 'fill' => true, 37 'stroke' => true, 38 'aria-hidden' => true, 39 'role' => true, 40 'focusable' => true, 41 'data-*' => true, 24 42 ]; 43 44 // ✅ Allow <path> inside SVG 25 45 $allowed['path'] = [ 26 46 'd' => true, … … 33 53 ]; 34 54 35 // Font Awesome/Eicons fallback36 $allowed[' i'] = [37 ' class'=> true,38 ' aria-hidden'=> true,55 // ✅ Allow <use> inside SVG for FA/Elementor icons 56 $allowed['use'] = [ 57 'xlink:href' => true, 58 'href' => true, 39 59 ]; 40 60 41 // Elementor link attributes61 // ✅ Elementor lightbox attributes on <a> 42 62 if ( isset( $allowed['a'] ) ) { 43 $allowed['a']['data-elementor-open-lightbox'] = true; 44 $allowed['a']['data-elementor-lightbox-slideshow']= true; 45 $allowed['a']['data-elementor-lightbox-title'] = true; 63 $allowed['a']['data-elementor-open-lightbox'] = true; 64 $allowed['a']['data-elementor-lightbox-slideshow'] = true; 65 $allowed['a']['data-elementor-lightbox-title'] = true; 66 $allowed['a']['data-*'] = true; 46 67 } 47 68 48 // Extended imgattributes69 // ✅ Extended <img> attributes 49 70 $allowed['img'] = array_merge( 50 71 $allowed['img'] ?? [], … … 56 77 'loading' => true, 57 78 'decoding' => true, 79 'data-*' => true, 58 80 ] 59 81 ); 60 /** 61 * Filters the allowed HTML tags/attributes for Header Footer Builder templates. 62 * 63 * @param array $allowed The list of allowed HTML. 64 */ 82 83 /** 84 * Filters the allowed HTML tags/attributes for Header Footer Builder templates. 85 * 86 * @param array $allowed The list of allowed HTML. 87 */ 65 88 return apply_filters( 'tahefobu_hf_allowed_html', $allowed ); 66 89 }
Note: See TracChangeset
for help on using the changeset viewer.