PluginProbe
QuadMenu – Mega Menu / 1.8.4
QuadMenu – Mega Menu v1.8.4
3.3.7 3.3.6 trunk 1.8.4 1.8.5 1.8.7 1.8.8 1.8.9 1.9.0 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 All 87 releases
quadmenu / includes / frontend / walker / QuadMenuItemWidget.class.php

QuadMenuItemWidget.class.php in QuadMenu – Mega Menu 1.8.4, at includes/frontend/walker/QuadMenuItemWidget.class.php

81 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if (!defined('ABSPATH')) {
3 die('-1');
4 }
5
6 class QuadMenuItemWidget extends QuadMenuItem {
7
8 protected $type = 'widget';
9
10 function get_start_el() {
11
12 $item_output = '';
13
14 $this->add_item_classes();
15
16 $this->add_item_classes_prefix();
17
18 $this->add_item_classes_widget();
19
20 $id = $this->get_item_id();
21
22 $class = $this->get_item_classes();
23
24 $item_output .= '<li' . $id . $class . '>';
25
26 $item_output .= $this->widget($this->item->widget_id);
27
28 return $item_output;
29 }
30
31 function add_item_classes_widget() {
32
33 $this->item_classes = array_diff($this->item_classes, array('quadmenu-item-type-custom'));
34
35 $this->item_classes[] = 'quadmenu-item-type-' . $this->item->quadmenu;
36 }
37
38 public function widget($id) {
39
40 if ($this->depth > 0) {
41
42 global $wp_registered_widgets;
43
44 if (!isset($wp_registered_widgets[$id])) {
45 ob_start();
46 ?>
47 <div class="quadmenu-alert">
48 <?php printf(esc_html__('Widget %s dosen\'t exists', 'quadmenu'), $id); ?>
49 </div>
50 <?php
51 return ob_get_clean();
52 }
53
54 $params = array_merge(
55 array(array_merge(array('widget_id' => $id, 'widget_name' => $wp_registered_widgets[$id]['name']))), (array) $wp_registered_widgets[$id]['params']
56 );
57
58 $params[0]['name'] = esc_html__('QuadMenu Widgets', 'quadmenu');
59 $params[0]['id'] = 'quadmenu-widgets';
60 $params[0]['description'] = esc_html__('Do not manually edit this sidebar.', 'quadmenu');
61 $params[0]['before_title'] = apply_filters('quadmenu_before_widget_title', '<span class="quadmenu-title">', $wp_registered_widgets[$id]);
62 $params[0]['after_title'] = apply_filters('quadmenu_after_widget_title', '</span>', $wp_registered_widgets[$id]);
63 $params[0]['before_widget'] = apply_filters('quadmenu_before_widget', '', $wp_registered_widgets[$id]);
64 $params[0]['after_widget'] = apply_filters('quadmenu_after_widget', '', $wp_registered_widgets[$id]);
65
66 $callback = $wp_registered_widgets[$id]['callback'];
67
68 if (is_callable($callback)) {
69 ob_start();
70 ?>
71 <div class="quadmenu-item-widget widget <?php echo esc_attr($wp_registered_widgets[$id]['classname']); ?>">
72 <?php call_user_func_array($callback, $params); ?>
73 </div>
74 <?php
75 return ob_get_clean();
76 }
77 }
78 }
79
80 }
81