WordPress 子菜单

发布于 2024-10-19 18:37:25 字数 1039 浏览 5 评论 0原文

我想用 wp_nav_menu() 在 wordpress 中创建一个水平子菜单;

现在我用 wp_nav_menu 输出整个菜单,但由于孩子是在他们的父母内部输出的,所以我无法制作子菜单。只是一个下拉菜单。

我希望它看起来像这样。 主页文章关于联系方式是页面,灵感技术面试是类别。

首页 文章 关于联系方式
灵感科技专访
(如果我按了文章)

所以这就是它的样子:

<ul class="mainmenu">
  <li>Home</li>
  <li>Articles
    <ul class="submenu">
      <li>Inspiration</li>
      <li>Technology</li>
      <li>Interview</li>
    </ul>
  </li>
  <li>About</li>
  <li>Contact</li>
</ul>

这就是我想要的:

<ul class="mainmenu">
  <li>Home</li>
  <li>Articles</li>
  <li>About</li>
  <li>Contact</li>
</ul>
<ul class="submenu">
  <li>Inspiration</li>
  <li>Technology</li>
  <li>Interview</li>
</ul>

有人有想法吗? :) 谢谢

I want to create a horizontal submenu in wordpress with wp_nav_menu();

As it is now I output the whole menu with wp_nav_menu but since the children is outputted inside theire parents I cant make a submenu. Just a dropdown menu.

I want it to look some what like this. Home, articles, about and contact are pages and inspiration, technology and interview are categories.

Home Articles About Contact
Inspiration Technology Interview
(if I have pressed on Articles)

So this is what it looks like:

<ul class="mainmenu">
  <li>Home</li>
  <li>Articles
    <ul class="submenu">
      <li>Inspiration</li>
      <li>Technology</li>
      <li>Interview</li>
    </ul>
  </li>
  <li>About</li>
  <li>Contact</li>
</ul>

And this is what I want:

<ul class="mainmenu">
  <li>Home</li>
  <li>Articles</li>
  <li>About</li>
  <li>Contact</li>
</ul>
<ul class="submenu">
  <li>Inspiration</li>
  <li>Technology</li>
  <li>Interview</li>
</ul>

Someone got and idea? :) thx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

羁〃客ぐ 2024-10-26 18:37:25

不要修改模板代码,您应该使用 css 来完成此操作。

示例如下: http://jsfiddle.net/2G9dQ/1/

Don't modify template code, you should do this with css.

Sample here : http://jsfiddle.net/2G9dQ/1/

司马昭之心 2024-10-26 18:37:25

使用 wp_list_pages() 而不是 wp_nav_menu() 这样你就可以拥有像这样的主菜单和子菜单:

<ul id="mainmenu">
    <?php wp_list_pages("title_li=&depth=1"); ?>
</ul>
<ul id="submenu">
    <?php wp_list_pages("title_li=&depth=1&child_of=".$post->post_parent ); ?>
</ul>

What about using wp_list_pages() instead of wp_nav_menu() so you can have the main and sub menus with something like this:

<ul id="mainmenu">
    <?php wp_list_pages("title_li=&depth=1"); ?>
</ul>
<ul id="submenu">
    <?php wp_list_pages("title_li=&depth=1&child_of=".$post->post_parent ); ?>
</ul>
记忆消瘦 2024-10-26 18:37:25

很抱歉发布第二个答案,但这是一个完全不同的 jQuery 解决方案(尽管只有一行 js): http:// /jsfiddle.net/AFC2r/。 CSS 显然只是为了让它看起来更清晰。

$(function() {
    $(".mainmenu .submenu").detach().insertAfter('.mainmenu');
});

根据您的需求,soju 的纯 CSS 解决方案当然可能更好。

Sorry to post a second answer, but it is a completely different solution with jQuery (just one line of js though): http://jsfiddle.net/AFC2r/. The CSS there is obviously just to make it appear clearer.

$(function() {
    $(".mainmenu .submenu").detach().insertAfter('.mainmenu');
});

Depending on your needs, soju's CSS-only solution could be better of course.

北恋 2024-10-26 18:37:25

最简单的方法就是在 wp-admin 中创建 2 个独立的菜单。

The easiest way is just create 2 separated menus, in wp-admin.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文