我正在尝试在WordPress(版本3.3.2)上设计主题, 但是在使侧边栏在某些页面上显示一组不同的小部件时遇到一些问题。
我已经尝试了一些在线教程, 特别是http://www.rvoodoo.com/projects/wordpress/wordpress-tip-different-sidebars-on-different-pages/这个教程, 但不幸的是, 当我使用侧边栏时没有任何变化移至其他页面
我在我的functions.php上注册了两个侧边栏, 如下所示, 一个被视为主要侧边栏, 另一个被作为自定义侧边栏, 并且我还向这些侧边栏添加了不同的小部件。
<?php register_sidebar( //register sidebar
array(
'name' => 'Right-side', 'before_widget' => '<div class="rightwidget">', 'after_widget' => '</div>', 'before_title' => '<h3 class="widgettitle">', 'after_title' => '</h3>', ));
register_sidebar( //register second sidebar
array(
'name' => 'Second-right', 'before_widget' => '<div class="rightwidget">', 'after_widget' => '</div>', 'before_title' => '<h3 class="widgettitle">', 'after_title' => '</h3>', ));
?>
之后, 我创建了文件sidebar.php和sidebar-second.php来调用它们。
sidebar.php
<div id="sidebar">
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Right-side')) : ?>
<h3 class="widget-title">No widget added</h3>
<p> Please add some widgets</p>
<?php endif; ?>
</div><!--ends sidebar-->
sidebar-second.php
<div id="sidebar">
<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Second-right')) : ?>
<h3 class="widget-title">No widget added</h3>
<p> Please add some widgets</p>
<?php endif; ?>
</div><!--ends sidebar-->
然后我添加了替换我的<?php get_sidebar(); ?>具有以下条件的语句
<?php if( is_page('225') ) : ?>
<?php dynamic_sidebar('second'); ?>
<?php else : ?>
<?php get_sidebar() ; ?>
<?php endif ; ?>
但是, 只有添加到sidebar.php的窗口小部件才会显示在每个页面上。关于如何更改此设置的任何帮助, 或有关我可能做错了什么的指针。谢谢。
#1
我似乎你正在使用<?php dynamic_sidebar(‘second’); ?>你应该使用<?php get-sidebar(‘second’);的地方? ?>
get_sidebar(‘foo’)的作用是在主题的根目录中查找名为’sidebar-foo.php’的文件并将其包括在内。另一方面, dynamic_sidebar(‘bar’)查找在以下位置注册的边栏:
<?php register_sidebar( array( 'name' => 'bar' ... ) ) ?>
希望这可以帮助!
#2
为什么不使用自定义边栏插件?
它真的很容易使用, 不需要任何编码
#3
你有两个侧边栏。当你要在特定页面上使用侧边栏秒文件而不是调用
<?php get_sidebar('second') ; ?>
尝试
<?php get_sidebar('sidebar-second.php') ; ?>
这应该可以解决问题
来源:
https://www.srcmini02.com/67228.html