【问题标题】:Get Next/Previous (Sibling) Top Level Parent Page Id - Wordpress获取下一个/上一个(兄弟)顶级父页面 ID - Wordpress
【发布时间】:2014-04-07 19:22:52
【问题描述】:

问题:有没有可能在 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 必须存储在变量中,依此类推。

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    您可以创建自定义walker 来实现此目的。 Here 有详细解释。

    另外,这里有一个可能的解决方法:

    编辑 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 安装,这些更改将被覆盖。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      相关资源
      最近更新 更多