Skip to content

Allow empty menuitems


//ALLOW EMPTY MENUTITLE WITH   requires no-underline css

add_action('wp_update_nav_menu', 'blank_menu_items');
function blank_menu_items($nav_menu_selected_id)
{
	$navmenudata = json_decode(stripslashes($_POST['nav-menu-data']), true);
	$k = 0;
	foreach ((array) $navmenudata as $data) {
		if (
			isset($data['name']) &&
			isset($data['value']) &&
			strpos($data['name'], 'menu-item-title') !== false
		) {
			if (trim($data['value']) == '') {
				$data['value'] = ' ';
				$navmenudata[$k] = $data;
			}
		}
		$k++;
	}
	if (isset($_POST['menu-item-title'])) {
		$k = 0;
		foreach ($_POST['menu-item-title'] as $key => $value) {
			if (trim($value) == '') {
				$value = ' ';
				$_POST['menu-item-title'][$key] = $value;
			}
			$k++;
		}
	}
}

add_filter('wp_nav_menu_objects', 'blank_menu_display', 10, 2);
function blank_menu_display($items, $args)
{
	foreach ($items as &$item) {
		$item->title = str_replace(' ', '', $item->title);
	}
	return $items;
}

An den Anfang scrollen