侧边栏中的自定义wp_nav_menu

时间:2015-08-03 23:16:40

标签: php html wordpress jquery-isotope

您好我正在使用自定义wp_nav_menu设置的wordpress主题,但我想进一步自定义。但我不知道该怎么做。

主题有一个菜单功能:

function litho_default_wp_menu()
{
    $args = array(
    'sort_column' => 'menu_order, post_title',
    'menu_class'  => 'menu',
    'include'     => '',
    'exclude'     => '',
    'echo'        => false,
    'show_home'   => false,
    'link_before' => '',
    'link_after'  => '' );

    $menu = wp_page_menu( $args );
    $menu = preg_replace('/^(<div class\="menu"><ul>)/i','',$menu);
    $menu = preg_replace('/(<\/ul><\/div>)$/i','',$menu);

    echo '<ul class="simple-nav">'.$menu.'</ul>';
}

并输出一个代码如下所示的菜单:

<div class="row" id="main_menu">
    <div class="columns six">
        <nav role="navigation">
            <ul class="simple-nav">
                <li class="page_item page-item-15 current_page_item"><a href="http://192.168.0.16:8888/">HOME</a></li>
                <li class="page_item page-item-38"><a href="http://192.168.0.16:8888/directing/">DIRECTING</a></li>
                <li class="page_item page-item-40"><a href="http://192.168.0.16:8888/compositing/">COMPOSITING</a></li>
            </ul>
        </nav>
    </div>
</div>

但是,我使用Isotope作为我的主题,过滤和排序页面内容而不是转到另一个页面。并希望我的菜单显示如下:

<div class="row" id="main_menu">
    <div class="columns six">
        <nav role="navigation">
            <ul id="filters">
                <li><a href="#" class="all" data-filter="*">show all</a></li>
                <li><a href="#" class="directing" data-filter=".directing">directing</a></li>
                <li><a href="#" class="compositing" data-filter=".compositing">compositing</a></li>
            </ul>
        </nav>
    </div>
</div>

我该怎么做?我现在正在阅读有关wp_nav_menu以及如何自定义它的内容,但我想也会在这里问。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以创建自定义菜单。自定义菜单可以使用wordpress管理功能进行编辑,因此您可以按照您想要的顺序添加它们,添加外部链接或链接到您在wordpress中的任何帖子/分类。文档在这里:https://codex.wordpress.org/Navigation_Menus

然而,就像将以下代码添加到插件或functions.php文件一样简单:

function register_my_menus() {
 register_nav_menus(
   array(
    'custom-menu' => __('Custom Navigation Menu')
   )
 );
}
add_action( 'init', 'register_my_menus' );

接下来,您必须在wordpress admin中创建菜单,导航到:Appearance&gt;菜单&gt;创建一个新菜单(在页面顶部)。

命名菜单,然后在它下面,它将包含由插件/主题指定的自定义菜单ID的复选框..这些被称为主题位置。您可以选中自定义菜单名称旁边的框 - 在本例中为“自定义菜单”。

然后,您可以执行以下操作之一:

  1. 向模板添加代码以打印导航。

    wp_nav_menu( array( 'theme_location' => 'custom-menu' ) ); 
    
  2. 使用您创建的菜单将自定义菜单小部件添加到侧边栏。

  3. 最后,您可以使用css设置窗口小部件的样式。

    希望有所帮助。