| Server IP : _ / Your IP : 169.254.129.1 Web Server : nginx/1.28.0 System : Linux 89e302d72aa1 6.6.143.1-1.azl3 #1 SMP PREEMPT_DYNAMIC Mon Jul 6 04:01:14 UTC 2026 x86_64 User : nginx ( 103) PHP Version : 8.2.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wordpress/wp-content/plugins/quadmenu/includes/backend/walker/ |
Upload File : |
<?php
if (!defined('ABSPATH')) {
die('-1');
}
class QuadMenu_Nav_Menu_Column extends QuadMenu_Settings {
public function __construct() {
add_filter('quadmenu_edit_nav_menu_walker', array($this, 'add_nav_menu_item_column'), 10, 3);
}
function add_nav_menu_item_column($walker_class_name, $menu_id = null, $menu_obj = null, $menu_items = null) {
if (!empty($menu_obj->menu_item_parent) && !empty($menu_obj->quadmenu) && $menu_obj->quadmenu === 'column') {
return __CLASS__;
}
return $walker_class_name;
}
public function walk($elements, $max_depth) {
$output = '';
foreach ($elements as $e) {
$output .= $this->column($e);
}
return $output;
wp_die();
}
public function column($column_obj, $menu_id = 0) {
ob_start();
?>
<div id="column_<?php echo esc_attr($column_obj->ID); ?>" class="quadmenu-column quadmenu-item-depth-2 <?php echo join(' ', array_map('sanitize_html_class', $column_obj->columns)); ?>" data-columns="<?php echo join(' ', array_map('sanitize_html_class', $column_obj->columns)); ?>" data-menu_item_id="<?php echo esc_attr($column_obj->ID); ?>">
<div class="inner">
<div class="action-top clearfix">
<div class="actions">
<!--<a class="option contract" title="<?php echo esc_attr(esc_html__('Contract', 'quadmenu')); ?>"></a>
<a class="option expand" title="<?php echo esc_attr(esc_html__('Expand', 'quadmenu')); ?>"></a>-->
<a class="option edit" title="<?php esc_html_e('Edit', 'quadmenu'); ?>"></a>
<a class="option remove" title="<?php esc_html_e('Remove', 'quadmenu'); ?>"></a>
<span class="spinner"></span>
</div>
</div>
<div class="settings">
<?php echo $this->form($column_obj, 1, array('columns')); ?>
</div>
<ul id="quadmenu-column-items-<?php echo esc_attr($column_obj->ID); ?>" class="items add-quadmenu-column-item sortable-area" data-sortable-items=".quadmenu-column-item" data-sortable-handle=".action-top" data-sortable-connect=".items" data-menu_item_parent_id="<?php echo esc_attr($column_obj->ID); ?>">
<?php
$items = $this->get_children_nav_menu_items($menu_id, $column_obj->ID);
if (is_array($items) && count($items)) :
foreach ($items as $item):
$menu_obj = QuadMenu::wp_setup_nav_menu_item($item['id']);
$walker_class_name = apply_filters('quadmenu_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', null, $menu_obj, null);
require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
if (class_exists($walker_class_name)) {
$args = array(
'after' => '',
'before' => '',
'link_after' => '',
'link_before' => '',
'walker' => new $walker_class_name,
);
echo walk_nav_menu_tree(array($menu_obj), 0, (object) $args);
}
endforeach;
endif;
?>
</ul>
</div>
</div>
<?php
return ob_get_clean();
}
public function columns($menu_obj, $menu_id = 0) {
$columns = $this->get_children_nav_menu_items($menu_id, $menu_obj->ID);
ob_start();
$w4 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-4')),
);
$w12 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-12')),
);
$w6w6 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-6')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-6')),
);
$w4w4w4 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-4')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-4')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-4')),
);
$w3w3w3w3 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-3')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-3')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-3')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-3')),
);
$w2w2w2w2w2w2 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
);
$w4w8 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-4')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-8')),
);
$w3w6w3 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-3')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-6')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-3')),
);
$w2w10 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-10')),
);
$w2w8w2 = array(
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-8')),
array('quadmenu' => 'column', 'columns' => array('col-xs-12', 'col-sm-2')),
);
?>
<div id="columns_<?php echo esc_attr($menu_obj->ID); ?>" class="quadmenu-columns sortable-area row" data-drop-area="drop-column" data-sortable-items=".quadmenu-column" data-sortable-handle=".action-top" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<ul role="tablist">
<span class="spinner"></span>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w4), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w12), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-auto">
</div>
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w6w6), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-auto"></div>
<div class="col col-auto"></div>
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w4w4w4), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-auto"></div>
<div class="col col-auto"></div>
<div class="col col-auto"></div>
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w3w3w3w3), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-auto"></div>
<div class="col col-auto"></div>
<div class="col col-auto"></div>
<div class="col col-auto"></div>
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w2w2w2w2w2w2), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-auto"></div>
<div class="col col-auto"></div>
<div class="col col-auto"></div>
<div class="col col-auto"></div>
<div class="col col-auto"></div>
<div class="col col-auto"></div>
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w4w8), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-4"></div>
<div class="col col-8"></div>
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w3w6w3), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-3"></div>
<div class="col col-6"></div>
<div class="col col-3"></div>
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w2w10), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-2"></div>
<div class="col col-10"></div>
</a>
</li>
<li>
<a href="#" class="submit-add-to-quadmenu-column" data-menu_item_type="custom" data-menu_item_quadmenu="<?php echo htmlspecialchars(json_encode($w2w8w2), ENT_QUOTES, 'UTF-8'); ?>" data-menu_item_url="#column" data-menu_item_title="<?php esc_html_e('Column', 'quadmenu'); ?>" data-menu_item_parent=".quadmenu-columns" data-menu_item_parent_id="<?php echo esc_attr($menu_obj->ID); ?>">
<div class="col col-2"></div>
<div class="col col-8"></div>
<div class="col col-2"></div>
</a>
</li>
</ul>
<?php
if (is_array($columns) && count($columns)) :
foreach ($columns as $column):
$column_obj = get_post($column['id']);
$column_obj = QuadMenu::wp_setup_nav_menu_item($column['id']);
if (!isset($column_obj->quadmenu) || $column_obj->quadmenu != 'column') {
continue;
}
echo $this->column($column_obj, $menu_id);
endforeach;
endif;
?>
</div>
<?php
return ob_get_clean();
}
}
new QuadMenu_Nav_Menu_Column();