┌────────────────────────────────┐ │ ░░░ ░░▓ ░▓▓ ███ ▓▓░ ▓░░ │ │ ~ M O O N ~ │ └────────────────────────────────┘
prd-web-01.centraldc.gr
LOCATION:
/var/www/html/adconect/wp-content/plugins/mobile-menu-widget-2
☗ ROOT
↻ REFRESH
✎ EDIT FILE
EDITING: mobile-menu-widget-2.php
<?php /* Plugin Name: Mobile Menu Shortcode & Widget Description: Mobile Menu Shortcode που εμφανίζει button και μενού, με δυνατότητα διαχωρισμού [mobile_menu button=true] ή [mobile_menu menu=true] Version: 1.3 Author: Giannis Giannopoulos / ai */ add_shortcode('mobile_menu', 'adconect_menu_toggle_shortcode'); function adconect_menu_toggle_shortcode($atts) { $atts = shortcode_atts(array( 'widget' => 'mobile_menu_widget', 'button' => false, 'menu' => false, ), $atts); $output = ''; // Τυπώνουμε το κουμπί μόνο αν ζητήθηκε ή δεν ζητήθηκε τίποτα (default) if ($atts['button'] === 'true' || (!$atts['button'] && !$atts['menu'])) { $output .= ' <div class="mobile-icon" onclick="adconectToggleMenu(this)"> <div class="bar1"></div> <div class="bar2"></div> <div class="bar3"></div> </div>'; } // Αν ζητήθηκε menu μέσα στο shortcode, τότε το βάζουμε εδώ if ($atts['menu'] === 'true') { $output .= adconect_get_menu_html($atts['widget']); } // Αν είναι default (ούτε button ούτε menu), προσθέτουμε το menu στο footer elseif (!$atts['button'] && !$atts['menu']) { add_action('wp_footer', function () use ($atts) { echo adconect_get_menu_html($atts['widget']); }, 99); } return $output; } // Επιστρέφει το HTML και την CSS του μενού function adconect_get_menu_html($widget_id) { ob_start(); ?> <style id="adconect-mobile-menu-style"> .mobile-icon { display: inline-block; cursor: pointer; z-index: 2000; position: relative; } .mobile-icon .bar1, .mobile-icon .bar2, .mobile-icon .bar3 { width: 35px; height: 5px; background-color: #333; margin: 6px 0; transition: 0.4s; } body.mobile-menu-open .mobile-icon > div { background: white; } body.mobile-menu-open .bar1 { transform: translate(0, 11px) rotate(-45deg); } body.mobile-menu-open .bar2 { opacity: 0; } body.mobile-menu-open .bar3 { transform: translate(0, -11px) rotate(45deg); } .menu-items { background: #333; color: white; position: absolute; z-index: 1000; right: 8px; left: 8px; top: 8px; bottom: 8px; height: 0px; border-radius:20px; overflow: hidden; transition: 0.2s all; } .menu-items a { color: white; } body.mobile-menu-open .menu-items { display: block; height: 100%; overflow: auto; } </style> <div class="menu-items" style="display:none;"> <?php if (is_active_sidebar($widget_id)) : ?> <?php dynamic_sidebar($widget_id); ?> <?php else : ?> <p>Το widget area <strong><?php echo esc_html($widget_id); ?></strong> δεν είναι ενεργό.</p> <?php endif; ?> </div> <script> function adconectToggleMenu(x) { document.body.classList.toggle("mobile-menu-open"); } </script> <?php return ob_get_clean(); } // Εγγραφή του widget area add_action('widgets_init', 'adconect_register_widget_areas'); function adconect_register_widget_areas() { register_sidebar(array( 'name' => 'Mobile Menu Content', 'id' => 'mobile_menu_widget', 'before_widget' => '', 'after_widget' => '', 'before_title' => '<h2>', 'after_title' => '</h2>', )); }
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 mobile-menu-widget-2.php
PHP
3.7 KB
2026-04-09 13:25
EDIT