我正在使用本地Wordpress菜单。我有两个子菜单的顶级链接-我希望这些子菜单显示父菜单项的名称。因此,如果我有一个名为“Gardens”的父菜单项,其中包含一个子菜单“Flowers”和“Plants”,该子菜单应在顶部显示“Gardens”,然后在其下方列出子菜单链接。
我已经创建了一个walker,在子菜单中插入一些H3标题文本。看起来是这样的:
class Subnav_Header_Walker extends Walker_Nav_Menu
{
function start_lvl( &$output, $depth = 0, $args = array() ) {
$heading = \'Heading Text Here\';
$indent = str_repeat("\\t", $depth);
$output .= "\\n$indent<ul class=\'sub-menu\'><h3>" . $heading . "</h3>\\n";
}
function end_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\\t", $depth);
$output .= "$indent</ul>\\n";
}
}
这不太好,但很管用。现在我只需要一些代码来获取父菜单项的名称。有人能帮我吗?
谢谢
最合适的回答,由SO网友:hmakein 整理而成
我最终从我的函数中删除了这些代码。php文件,并改用jQuery。如果有人想知道,我是如何处理的:
$(\'.menu-item-has-children > a\').each(function(){
var submenuHeading = $(this).text();
$(\'.sub-menu\', ($(this).parent(\'.menu-item-has-children\'))).prepend(\'<h3>\' + submenuHeading + \'</h3>\');
});