获取下一个/上一个(兄弟姐妹)顶级父页面ID - Wordpress

时间:2014-04-04 14:05:00

标签: php wordpress

问题:是否有可能在wordpress中的wp_nav_menu中获取下一个/上一个页面ID。

示例:我有这样的导航菜单

Menu_Item_1  (ID = 5)
  >SubMenu_Item_1-1
  >SubMenu_Item_1-2

Menu_Item_2 (ID = 11)
  >SubMenu_Item_2-1
  >SubMenu_Item_2-2

如果我在Menu_Item_1或其任何子页面上,则下一个顶级菜单项(在本例中为Menu_Item_2)的id必须存储在变量中,依此类推。

1 个答案:

答案 0 :(得分:0)

您可以创建自定义助行器来实现此目的。 Here是对此的详细解释。

OR

此外,这是一个可能的解决方法:

编辑wp-includes文件夹下的nav-menu-template.php文件。

向下滚动到第行。 114看起来像:

$output .= $indent . '<li' . $id . $value . $class_names .'>';

将此行替换为:

$output .= $indent . '<li' . $id . $value . $class_names .' data-id='. $item->object_id .'>';

这会在所有<li>中添加原始ID,如下所示:

<li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-29" data-id="14">

此处data-id具有您需要的ID。您可以使用jQuery来获取此ID:

targetId = $('#menu-item-29').attr('data-id');

注意:更新Wordpress安装后,这些更改将被覆盖。