如何解决当我调用一个侧边栏时,会出现多个侧边栏怎么修?
| 我有一个functions.PHP文件,我在其中注册了所有侧边栏。 在sidebar.PHP文件中,我有这个<?PHP if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'Home Page\') ) : ?>
<?PHP endif; ?>
<?PHP if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'Blog Page\') ) : ?>
<?PHP endif; ?>
那我叫它
<?PHP get_sidebar(\'Home Page\'); ?>
博客页面侧栏也出现了。该怎么办?
编辑:
等待,我需要为所有侧边栏创建一个页面吗?这就是为什么它不起作用吗?
那将是很多页面,还有其他解决方法吗?
解决方法
我这样做略有不同,我这样做:
这在我的functions.php中:
// header
register_sidebar( array (
\'name\' => \'Header Widget Area\',\'id\' => \'header_widget_area\',\'before_widget\' => \'<li id=\"%1$s\" class=\"widget-container %2$s\">\',\'after_widget\' => \"</li>\",\'before_title\' => \'<h3 class=\"widget-title\">\',\'after_title\' => \'</h3>\',) );
// Single Post Sidebar
register_sidebar( array (
\'name\' => \'Single Widget Area\',\'id\' => \'single_widget_area\',) );
然后,我这样称呼他们,无论我在哪个模板中使用它们:
<?php if ( is_sidebar_active(\'header_widget_area\') ) : ?>
<?php dynamic_sidebar(\'header_widget_area\'); ?>
<?php endif; ?>
让我知道您是否需要更多帮助。
, 命令dynamic_sidebar()实际上输出指示的侧边栏。调用get_sidebar时,它同时显示了这两个侧边栏,因为在有条件的情况下,将输出侧边栏。
您没有完全按照自己的意愿去做。
您将只想拥有
get_sidebar();
在您的模板中。
然后,在sidebar.php文件中,您将执行条件以确定何时显示什么。例如,像这样的东西
if ( is_page() ) :
dynamic_sidebar(\'page-sidebar\');
elseif ( is_post() ) :
dynamic_sidebar(\'post-sidebar\');
endif;
如果您仍然遇到问题,请告诉我,我可以提供更多详细信息/更好的详细解决方案示例
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。