如何在每个页面的侧边栏上显示不同的菜单
How to show different menu on sidebar for each page
我有两个不同的页面,分别是 "Lab" 和 "Services"。 "Lab" 页面使用自定义模板页面。 "Services" 页面显示 8 个服务选项,每个服务打开不同的页面。例如:
实验室页面菜单:(我想在侧边栏上显示的菜单)
- Item 1
- Item 2
- Item 3
服务页面:(页面有这个服务,每个服务里面都有一些选项)
- Service 1
-- Option 1.1
-- Option 1.2
-- Option 1.3
- Service 2
-- Option 2.1
-- Option 2.2
- Service 3
-- Option 3.1
服务菜单为:
- Option 1.1
- Option 1.2
- Option 1.3
- Option 2.1
[...]
因此,当我单击 "lab" 页面时,它会显示第一个菜单(项目 1、项目 2...),当我从 "Services" 页面单击服务时,它会显示第二个菜单(选项 1.1、选项 1.2 ...)。
实验室和服务页面都使用了服装页面模板。有没有办法指定侧边栏显示每个页面的不同菜单?
我的sidebar.php代码:
<aside id="secondary" class="col-xs-12 col-sm-4" role="complementary">
<?php do_action( 'before_sidebar' ); ?>
<br><br><br>
<?php if ( ! dynamic_sidebar( 'sidebar-1' ) ) : ?>
<aside id="search" class="widget widget_search">
<?php get_search_form(); ?>
</aside>
<aside id="archives" class="widget">
<h1 class="widget-title"><?php _e( 'Archives', 'codex-coder' ); ?></h1>
<ul>
<?php wp_get_archives( array( 'type' => 'monthly' ) ); ?>
</ul>
</aside>
<aside id="meta" class="widget">
<h1 class="widget-title"><?php _e( 'Meta', 'codex-coder' ); ?></h1>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</aside>
<?php endif; // end sidebar widget area ?>
</aside><!-- #secondary -->
这可能不是您要查找的内容,但我不久前在某个项目中使用的某处找到了这段代码,它非常有帮助。如果我没记错的话,你应该可以改变深度,它会做 Option 1.1 Option 1.2 等...
<?php
if($post->post_parent)
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0&depth=1");
if ($children) { ?>
<ul>
<?php echo $children; ?>
<?php echo strip_tags ($children, '<a>, <hr>'); ?>
</ul>
<?php } ?>
http://bit.ly/1O4B15N 是我使用它的页面。所以侧边栏 header 下的所有内容都是由这段代码生成的。
使用插件 "Display Widgets"(https://wordpress.org/plugins/display-widgets/screenshots/) 怎么样?
使用此插件,您可以 show/hide 每个页面的某些(边栏)小部件。还有一个不错的插件:Widget Logic (https://wordpress.org/plugins/widget-logic/)
我有两个不同的页面,分别是 "Lab" 和 "Services"。 "Lab" 页面使用自定义模板页面。 "Services" 页面显示 8 个服务选项,每个服务打开不同的页面。例如:
实验室页面菜单:(我想在侧边栏上显示的菜单)
- Item 1
- Item 2
- Item 3
服务页面:(页面有这个服务,每个服务里面都有一些选项)
- Service 1
-- Option 1.1
-- Option 1.2
-- Option 1.3
- Service 2
-- Option 2.1
-- Option 2.2
- Service 3
-- Option 3.1
服务菜单为:
- Option 1.1
- Option 1.2
- Option 1.3
- Option 2.1
[...]
因此,当我单击 "lab" 页面时,它会显示第一个菜单(项目 1、项目 2...),当我从 "Services" 页面单击服务时,它会显示第二个菜单(选项 1.1、选项 1.2 ...)。
实验室和服务页面都使用了服装页面模板。有没有办法指定侧边栏显示每个页面的不同菜单?
我的sidebar.php代码:
<aside id="secondary" class="col-xs-12 col-sm-4" role="complementary">
<?php do_action( 'before_sidebar' ); ?>
<br><br><br>
<?php if ( ! dynamic_sidebar( 'sidebar-1' ) ) : ?>
<aside id="search" class="widget widget_search">
<?php get_search_form(); ?>
</aside>
<aside id="archives" class="widget">
<h1 class="widget-title"><?php _e( 'Archives', 'codex-coder' ); ?></h1>
<ul>
<?php wp_get_archives( array( 'type' => 'monthly' ) ); ?>
</ul>
</aside>
<aside id="meta" class="widget">
<h1 class="widget-title"><?php _e( 'Meta', 'codex-coder' ); ?></h1>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</aside>
<?php endif; // end sidebar widget area ?>
</aside><!-- #secondary -->
这可能不是您要查找的内容,但我不久前在某个项目中使用的某处找到了这段代码,它非常有帮助。如果我没记错的话,你应该可以改变深度,它会做 Option 1.1 Option 1.2 等...
<?php
if($post->post_parent)
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0&depth=1");
if ($children) { ?>
<ul>
<?php echo $children; ?>
<?php echo strip_tags ($children, '<a>, <hr>'); ?>
</ul>
<?php } ?>
http://bit.ly/1O4B15N 是我使用它的页面。所以侧边栏 header 下的所有内容都是由这段代码生成的。
使用插件 "Display Widgets"(https://wordpress.org/plugins/display-widgets/screenshots/) 怎么样?
使用此插件,您可以 show/hide 每个页面的某些(边栏)小部件。还有一个不错的插件:Widget Logic (https://wordpress.org/plugins/widget-logic/)