WordPress menüsünü kod ile oluşturmak

WordPress bileşen panelinde menüleri istediğiniz yere yerleştirebilirsiniz. Fakat menü yöneticisi ile oluşturulan bir menüyü manuel, yani kodla ekrana için aşağıda yazdığım kodu kullanabilirsiniz. Genel olarak header.php dosyasındaki ilgili dynamic_sidebar kodunun çevresine bunu yerleştirebilir kafanıza göre yeniden tasarlayabilirsiniz.

Kısaca koddan bahsetmek gerekirse;  wp_get_nav_menu_items ile ilgili menünün tüm elemanlarını çağırıp get_sub_items ile alt menüsünün olup olmadığına bakıyoruz ve farklı bir css ile görüntülüyoruz. Tabi bu alt seçeneklerin de alt menüsü olabilir. Aşağıdaki kod sadece 3 seviye derine iniyor. Tasarım olarak buradaki görünümü kullandım. Siz de aynısını (mega menü deniyor) kullanmak isterseniz css dosyasını dahil etmeyi unutmayın.

function get_sub_items($items, $parent_id)
{
	$ret = array();
	foreach ( $items as $item )
		if ($item->menu_item_parent == $parent_id)
			$ret[] = $item;
	return $ret;
}

$menu_items = wp_get_nav_menu_items('10');
echo "<ul class='nav'>";
foreach ( $menu_items as $item_l1 )
{
	if ($item_l1->menu_item_parent == 0)
	{
		// Level-1
		echo "<li>";
		echo "<a href='#'>".$item_l1->title."</a>\n";
		echo "<div>";

		// Level-2
		$sub_1 = get_sub_items($menu_items, $item_l1->ID);
		if (count($sub_1))
		{
			foreach($sub_1 as $sub1_item )
			{
				// Level-3
				$sub_2 = get_sub_items($menu_items, $sub1_item->ID);
				if (count($sub_2))
				{
					echo "<div class='nav-column'>";
					echo "<h3>".$sub1_item->title."</h3>\n";
					echo "<ul>";
					foreach($sub_2 as $sub2_item )
					{
						echo "<li><a href='".$sub2_item->url."'>".$sub2_item->title."</a></li>\n";
					}
					echo "</ul>";
					echo "</div>";
				}
			}
		}
		echo "</div>";
		echo "</li>";
	}
}
echo "</ul>";

Yazar: Özgür Koca

Yazar - Tankado.com

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.