我有两个不同的页面,称为“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
[...]
因此,当我点击“实验室”页面时,它会显示第一个菜单(第1项,第2项......),当我从“服务”页面点击服务时,它将显示第二个菜单(选项1.1) ,选项1.2 ......)。
Lab和Services页面都使用服装页面模板。有没有办法为侧边栏指定这个,为每个页面显示不同的菜单?
我的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 -->
答案 0 :(得分:1)
这可能不是您正在寻找的,但我在项目中使用的某个地方发现了这段代码,这非常有用。如果我没记错,你应该能够改变深度,它将做选项1.1选项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是我用过的页面。因此,侧边栏标题下的所有内容都是由这段代码生成的。
答案 1 :(得分:1)
如何使用插件“显示小部件”(https://wordpress.org/plugins/display-widgets/screenshots/)?
使用此插件,您可以显示/隐藏每个页面的某些(侧边栏)小部件。还有另一个好的插件:Widget Logic(https://wordpress.org/plugins/widget-logic/)