输出所有NAV_ITEMS的帖子ID

时间:2015-02-09 作者:Trent Bojett

我正在开发一个新的WordPress模板,为我的导航寻找解决方案。

如何为每个导航项目输出唯一的post ID?

我想为客户端创建一个单页(微型站点)。

在我尝试沃克导航和其他不起作用的东西之前。

3 个回复
最合适的回答,由SO网友:shyammakwana.me 整理而成

导航的html标记如下所示

<ul id="menu-res" class="main-menu"><li id="menu-item-72" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-72"><a href="#home">Home</a></li>
   <li id="menu-item-238" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-238"><a href="#services">Services</a></li>
   <li id="menu-item-73" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-73"><a href="#about">About</a></li>
   <li id="menu-item-75" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-75"><a href="#skills">Skills</a></li>
   <li id="menu-item-346" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-346"><a href="http://www.yourstorepick.com/pro-site/">Pro Site</a></li>
   <li id="menu-item-347" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-347"><a href="http://www.yourstorepick.com/wp-signup.php?pro-site=1">Sign up</a></li>
   <li id="menu-item-74" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-74"><a href="#our-team">Our Team</a></li>
   <li id="menu-item-239" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-239"><a href="#our-work">Our Work</a></li>
   <li id="menu-item-236" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-236"><a href="#blog">Blog</a></li>
   <li id="menu-item-237" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-237"><a href="#contact">Contact</a></li>
</ul>
从上面的代码中,您可以看到每个li都有唯一的IDmenu-item-XXX 是ID的格式。menu-item- 将相同,并且XXX 将有所不同。您可以提取此ID。

SO网友:birgire

如果要从给定的菜单ID获取相应的帖子ID,请尝试:

$menu_id = \'mymenu\'; 
$items = wp_get_nav_menu_items( $menu_id );
$ids = ( $items ) ? wp_list_pluck( $items , \'object_id\' ) : array();
您必须修改$menu_id 满足您的需求。

SO网友:Trent Bojett

Soooo,我已经用javascript尝试了解决方案。它工作正常。

对于调试测试:

<script>
    $(function() {
        alert($(\'.menu-item\').attr(\'id\'));
    });
</script>
它给我导航中每个元素的id作为警报。我现在提取最后的数字,然后得到menu-item-id。

谢谢你的回答,干杯:)

结束

相关推荐

UPDATE_POST_META正在使用两个页面ID更新

我正在写一个代码来计算帖子的浏览量。为此,我使用update\\u post\\u meta并传递适当的参数。我正在调用add\\u action上的函数(“wp”,“function\\u name”);在函数中。php。我的问题是,每当我在Chrome中加载页面时,它都可以正常工作。但是,当我在Mozilla Firefox中加载页面时,它正在更新wp\\u Posteta表中两个/三个页面id的页面视图计数。我应该使用其他动作钩吗??如果是,哪一个?谁能告诉我,问题出在哪里??谢谢