只是想知道,如果有人可以請幫助我的代碼添加到現有的菜單沃克在一個WordPress 4.7.4導航菜單中添加各地的頁面標題跨度所謂的「主」在鏈接添加一個跨度周圍的網頁標題中所有頂級項目。菜單沃克 - 在頂級項目的鏈接在WordPress的導航菜單
我想(簡體)HTML看起來像這樣:
<ul>
<li><a href="#" title="Page 1"><span>Page 1</span></a></li>
<li><a href="#" title="Page 2"><span>Page 2</span></a><div class="drop">
<ul>
<li><a href="#" title="Sub Page 2.1">Sub Page 2.1</a></li>
<li><a href="#" title="Sub Page 2.2">Sub Page 2.2</a></li>
<li><a href="#" title="Sub Page 2.3">Sub Page 2.3</a></li>
<li><a href="#" title="Sub Page 2.4">Sub Page 2.4</a></li>
</ul>
</div></li>
<li><a href="#" title="Page 3"><span>Page 3</span></a></li>
<li><a href="#" title="Page 4"><span>Page 4</span></a><div class="drop">
<ul>
<li><a href="#" title="Sub Page 4.1">Sub Page 4.1</a></li>
<li><a href="#" title="Sub Page 4.2">Sub Page 4.2</a></li>
</ul>
</div></li>
<li><a href="#" title="Page 5"><span>Page 5</span></a></li>
<li><a href="#" title="Page 6"><span>Page 6</span></a></li>
<li><a href="#" title="Page 7"><span>Page 7</span></a></li>
</ul>
的沃克在我functions.php文件目前有代碼它周圍添加子菜單項的包裝DIV的下拉菜單。這個偉大的工程,如下所示:
class main_menu_walker extends Walker_Nav_Menu
{
function start_lvl(&$output, $depth = 0, $args = array())
{
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<div class=\"drop\"><ul>\n";
}
function end_lvl(&$output, $depth = 0, $args = array())
{
$indent = str_repeat("\t", $depth);
$output .= "$indent</ul></div>\n";
}
}
Link_before並在菜單調用link_after屬性似乎並不合適,因爲它們增加跨距所有菜單項,包括子頁面。
我發現了一些的functions.php代碼添加各地的頂級項目的跨度,但是這增加了跨所有WP菜單的頂級項目,而不僅僅是所謂的「主」菜單。此代碼如下所示:
add_filter('wp_nav_menu_objects', function($items) {
foreach ($items as $item) {
if (!$item->menu_item_parent) {
$item->title = '<span>' . $item->title . '</span>';
}
}
return $items;
});
上面的代碼可以在一個名爲main的菜單中使用菜單助手嗎?如果是這樣,我該如何實現呢?或者是菜單步行者需要的新代碼?如果是這樣,有什麼想法?
在此先感謝您的幫助。
你好,謝謝你。我的需求與你的需求有所不同。在使用你的html作爲例子時,我想要一個span標籤只包含頁面標題文本菜單1,菜單2,菜單3和菜單4的頂級頁面。我不想對出現的下拉菜單旁邊父頁面的PAGETITLE箭頭跨度 – user3643520