HEX
Server: Apache
System: Linux webd001.cluster127.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: mciraet (192513)
PHP: 8.2.31
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/mciraet/www/wp-content/themes/movedo/includes/custom-menu/grve-walker-nav-menu-edit.php
<?php

/*
*	Nav Menu Edit
*
* 	@version	1.0
* 	@author		Greatives Team
* 	@URI		http://greatives.eu
*/

if ( ! class_exists( 'Walker_Nav_Menu_Edit' ) ) {
	global $wp_version;
	if ( version_compare( $wp_version, '4.4', '>=' ) ) {
		require_once ABSPATH . 'wp-admin/includes/class-walker-nav-menu-edit.php';
	} else {
		require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
	}
}

class Movedo_Grve_Walker_Nav_Menu_Edit extends Walker_Nav_Menu_Edit {

	public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
        $item_output = '';
        $output .= parent::start_el( $item_output, $item, $depth, $args, $id );
        $output .= preg_replace(
            // NOTE: Check this regex on major WP version updates!
            '/(?=<fieldset[^>]+class="[^"]*field-move)/',
            $this->get_custom_fields( $item, $depth, $args ),
            $item_output
        );
	}

	protected function get_custom_fields( $item, $depth, $args = array() ) {
		ob_start();
		$item_id = intval( $item->ID );
		do_action( 'wp_nav_menu_item_custom_fields', $item_id, $item, $depth, $args );

		return ob_get_clean();
	}

} // Movedo_Grve_Walker_Nav_Menu_Edit

function movedo_grve_wp_nav_menu_item_custom_fields( $item_id, $item, $depth, $args ) {
?>
	<p class="grve-field-custom description description-wide">
		<label for="edit-menu-item-grve-megamenu-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Mega Menu', 'movedo' ); ?><br />
			<select class="widefat grve-menu-item-megamenu" id="edit-menu-grve-item-megamenu-<?php echo esc_attr($item_id); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_megamenu_' . $item_id ); ?>">
				<option value="" <?php selected( "", $item->grve_megamenu ); ?>><?php esc_html_e( 'None', 'movedo' ); ?></option>
				<option value="2" <?php selected( "2", $item->grve_megamenu ); ?>><?php esc_html_e( '2 Columns', 'movedo' ); ?></option>
				<option value="3" <?php selected( "3", $item->grve_megamenu ); ?>><?php esc_html_e( '3 Columns', 'movedo' ); ?></option>
				<option value="4" <?php selected( "4", $item->grve_megamenu ); ?>><?php esc_html_e( '4 Columns', 'movedo' ); ?></option>
				<option value="5" <?php selected( "5", $item->grve_megamenu ); ?>><?php esc_html_e( '5 Columns', 'movedo' ); ?></option>
				<option value="6" <?php selected( "6", $item->grve_megamenu ); ?>><?php esc_html_e( '6 Columns', 'movedo' ); ?></option>
			</select>
			<span class="description"><?php esc_html_e( 'Mega Menu should be used only on first level menu items.', 'movedo' ); ?></span>
		</label>
	</p>
	<p class="grve-field-custom description description-wide">
		<label for="edit-menu-item-grve-link-mode-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Link Mode', 'movedo' ); ?><br />
			<select class="widefat" id="edit-menu-item-grve-link-mode-<?php echo esc_attr($item_id); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_link_mode_' . $item_id ); ?>">
				<option value="" <?php selected( "", $item->grve_link_mode ); ?>><?php esc_html_e( 'Default', 'movedo' ); ?></option>
				<option value="no-link" <?php selected( "no-link", $item->grve_link_mode ); ?>><?php esc_html_e( 'No Link', 'movedo' ); ?></option>
				<option value="hidden" <?php selected( "hidden", $item->grve_link_mode ); ?>><?php esc_html_e( 'Hidden', 'movedo' ); ?></option>
			</select>
		</label>
	</p>
	<p class="grve-field-custom description description-wide">
		<label for="edit-menu-item-grve-link-classes-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Link CSS Classes', 'movedo' ); ?><br />
			<input type="text" id="edit-menu-item-grve-link-classes-<?php echo esc_attr( $item_id ); ?>" class="widefat code" value="<?php echo esc_attr( $item->grve_link_classes ); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_link_classes_' . $item_id ); ?>"/>
		</label>
	</p>
	<p class="grve-field-custom description description-wide">
		<label for="edit-menu-item-grve-label-text-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Label Text', 'movedo' ); ?><br />
			<input id="edit-menu-item-grve-label-text-<?php echo esc_attr( $item_id ); ?>" type="text" class="widefat"  value="<?php echo esc_attr( $item->grve_label_text ); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_label_text_' . $item_id ); ?>"/>
		</label>
	</p>
	<p class="grve-field-custom description description-wide">
		<label for="edit-menu-item-grve-label-color-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Label Color', 'movedo' ); ?><br />
			<select class="widefat" id="edit-menu-grve-item-label-color-<?php echo esc_attr($item_id); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_label_color_' . $item_id ); ?>">
				<option value="" <?php selected( "", $item->grve_label_color ); ?>><?php esc_html_e( 'Default', 'movedo' ); ?></option>
				<?php movedo_grve_print_media_button_color_selection( $item->grve_label_color ); ?>
			</select>
		</label>
	</p>
	<p class="grve-field-custom description description-wide">
		<label for="edit-menu-item-grve-style-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Menu item Style', 'movedo' ); ?><br />
			<select class="widefat grve-menu-item-style" id="edit-menu-grve-item-style-<?php echo esc_attr($item_id); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_style_' . $item_id ); ?>">
				<option value="" <?php selected( "", $item->grve_style ); ?>><?php esc_html_e( 'Default', 'movedo' ); ?></option>
				<option value="button" <?php selected( "button", $item->grve_style ); ?>><?php esc_html_e( 'Button', 'movedo' ); ?></option>
			</select>
		</label>
	</p>
	<p class="grve-field-custom description description-wide grve-menu-item-color-container">
		<label for="edit-menu-item-grve-color-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Menu Item Color', 'movedo' ); ?><br />
			<select class="widefat" id="edit-menu-grve-item-color-<?php echo esc_attr($item_id); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_color_' . $item_id ); ?>">
				<option value="" <?php selected( "", $item->grve_color ); ?>><?php esc_html_e( 'Default', 'movedo' ); ?></option>
				<?php movedo_grve_print_media_button_color_selection( $item->grve_color ); ?>
			</select>
		</label>
	</p>
	<p class="grve-field-custom description description-wide grve-menu-item-hover-color-container">
		<label for="edit-menu-item-grve-hover-color-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Menu Item Hover color', 'movedo' ); ?><br />
			<select class="widefat" id="edit-menu-grve-item-hover-color-<?php echo esc_attr($item_id); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_hover_color_' . $item_id ); ?>">
				<option value="" <?php selected( "", $item->grve_hover_color ); ?>><?php esc_html_e( 'Default', 'movedo' ); ?></option>
				<?php movedo_grve_print_media_button_color_selection( $item->grve_hover_color ); ?>
			</select>
		</label>
	</p>
	<?php
		global $movedo_grve_awsome_fonts_list;
	?>
	<p class="grve-field-custom description description-wide">
		<label for="edit-menu-item-grve-icon-fontawesome-<?php echo esc_attr( $item_id ); ?>">
			<?php esc_html_e( 'Icon', 'movedo' ); ?><br />
			<select class="widefat" id="edit-menu-item-grve-icon-fontawesome-<?php echo esc_attr($item_id); ?>" data-grve-menu-item data-grve-menu-name="<?php echo esc_attr( '_movedo_grve_menu_item_icon_fontawesome_' . $item_id ); ?>">
				<option value="" <?php selected( "", $item->grve_icon_fontawesome ); ?>><?php esc_html_e( 'None', 'movedo' ); ?></option>
			<?php
				$icons_array = $movedo_grve_awsome_fonts_list;
				foreach ($icons_array as $icon) {
			?>
					<option value="fa fa-<?php echo esc_attr( $icon ); ?>" <?php selected( $item->grve_icon_fontawesome, 'fa fa-' . $icon ); ?>><?php echo esc_html( $icon ); ?></option>
			<?php
				}
			?>
			</select>
		</label>
	</p>
<?php
}

// add the action
add_action( 'wp_nav_menu_item_custom_fields', 'movedo_grve_wp_nav_menu_item_custom_fields', 10, 4 );

//Omit closing PHP tag to avoid accidental whitespace output errors.