[英]Custom menu tags in wp_nav_menu
我一直在嘗試獲取函數wp_nav_menu()來輸出以下html結構:
<ul> <li><a href="#">LINK</a></li><span>element</span> <li><a href="#">LINK</a></li><span>element</span> <li><a href="#">LINK</a></li><!--no element HERE!--> </ul>
我嘗試使用'after'和'link_after'之類的參數。 但是第一個輸出</li>
標記之前的元素,第二個輸出</a>
標記之前的元素。 有什么方法可以在</li>
標記后輸出<span>
元素? 我了解了Walker類,但是我不太了解它的邏輯-我不太擅長PHP。
我沒有安裝wp對其進行測試,但仍將其保留在此處。 您需要擴展Walker_Nav_Menu
類,如下所示:
class custom_walker_nav_menu extends Walker_Nav_Menu
{
public function end_el( &$output, $item, $depth = 0, $args = array())
{
$output .= "</li><span>element</span>\n";
}
}
然后將new custom_walker_nav_menu
傳遞為wp_nav_menu()
函數的$walker
參數。 實際上,這個答案是不完整的,無法擺脫您不需要的最后一個<span>
元素。 稍后我會嘗試改善它。 就像@ rnevius在他的評論中提到的那樣,這將是無效的HTML,因此,您必須使用after
或link_after
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.