【问题标题】:Add sub-pages to the navigation menu on a customized Wordpress theme using php, css, and jQuery?使用 php、css 和 jQuery 将子页面添加到自定义 Wordpress 主题的导航菜单中?
【发布时间】:2014-05-02 16:41:23
【问题描述】:

我会尽量让我的故事简洁明了。

  • 我在一家小型家族企业工作。
  • Web 开发人员与公司分道扬镳。
  • 我被任命维护这个网站: http://tintedadvertisinggraphics.com/
  • 我所要做的就是更新内容(添加子页面和文本)

我很难过,因为主题本身不支持菜单,这意味着所有内容都是硬编码的。我试图去 Wordpress > pages > 并添加它们,但它没有用。 我终于想出了如何通过将页面ID添加到这段header.php来显示服务下的子页面按钮,上面写着徽标(http://tintedadvertisinggraphics.com/window-graphics/):

<?php wp_list_pages('title_li=&include=8,4,53,51,132,146,152,246'); ?>
                         <!-- <li <?php if (is_category('1')){echo    'class="current_page_item"';}?>><a href="<?php bloginfo('url'); ?>/?cat=1">BLOG</a></li>-->

所以我的问题是我从那里去哪里?如何使我制作的子页面按钮起作用?我该如何做到这一点,以便在单击子页面按钮时打开我创建的页面(logos.php)?我一直在疯狂地使用萤火虫,我知道,或者主要是认为,我必须找到它说 li.page_item 的任何地方?我认为它在一个 php 文件中,然后我想可能是 css,但如果我的担心是正确的,那就是 jquery,我什至不知道从哪里开始。所以任何帮助将不胜感激!

【问题讨论】:

标签: php jquery wordpress navigation parent-child


【解决方案1】:

你知道,只添加对导航菜单的支持并替换该代码可能会更容易。

在您的functions.php 文件中,您可以在任何地方使用add_theme_support('menus'); (See Codex on Theme Support),这将允许您在外观-> 菜单下创建菜单。然后,您可以将wp_list_pages() 替换为wp_nav_menu('Menu Name here');,从长远来看,它会更容易维护。如果您想更进一步,您可以添加自定义 walker 以自动包含子页面:View Auto-Submenu Walker

【讨论】:

  • 感谢您的回复。请与我裸露,当你说任何地方时,它真的在任何地方吗?我补充说: 在我更改 header.php 之前,网站给了我一个解析错误,或者是因为我需要更改 header,php 然后检查网站?
  • 对不起,这只是menus 而不是nav_menus,就像我之前所说的那样。通常出于格式化目的,我将主题支持放在我的 functions.php 文件的顶部。您不需要在您的函数文件中添加任何额外的&lt;?php 标签,通常顶部会打开一个。
  • 好的。我添加了你告诉我的两个代码。旧的应该消失吗?因为它还在那里,而且它使最后两页翻了一番。 tintedadvertisinggraphics.com/commercial-window-film
  • 您需要删除wp_list_pages并替换为wp_nav_menu()然后您可以在Appearance -&gt; Menus下组织您的页面
  • 它只在两个地方,我更换了它。现在整个菜单重复了:/
【解决方案2】:

第 1 步:创建菜单。将以下代码添加到您的functions.php

function register_RayEames_menu() {
  register_nav_menu('header-menu',__( 'Menu Main' ));
}

add_action( 'init', 'register_RayEames_menu' );

然后,附近在代码中您想要这些菜单的位置,将其包含在内。现在,您的需求可能与我的不同,但您需要知道wp_nav_menu() 有很多强大的选项可供您使用。这是基于我自己的网站之一:

<?php
$defaults = array(
    'theme_location'  => 'header-menu',
    'menu'            => 'Menu Main',
    'container'       => false,
//  'container_class' => '',
//  'container_id'    => '',
    'menu_class'      => 'nav',
//  'menu_id'         => '',
    'echo'            => true,
    'fallback_cb'     => 'wp_page_menu',
    'before'          => '',
    'after'           => '',
    'link_before'     => '',
    'link_after'      => '',
//  'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
    'depth'           => 0,
    'walker'          => ''
);
wp_nav_menu( $defaults );
?>

深入了解wp_nav_menu()'s documentation

完成此操作后,您可以进入网站的后端并执行 外观 > 菜单 来定义那里的内容 - 包括帖子、页面、类别、任意 URL 等等。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多