我正在开发一个主题,其页面(以及帖子)与主页非常不同,因此我希望侧栏上有不同的小部件
有没有办法做到这一点?
我正在单曲上调用侧边栏。php就是这样,就像它在索引上一样。php:
<?php get_sidebar(); ?>
侧栏。php是这样的:
<?php
/**
* The Sidebar containing the primary and secondary widget areas.
?>
<aside>
<ul>
<?php
/* When we call the dynamic_sidebar() function, it\'ll spit out
* the widgets for that widget area. If it instead returns false,
* then the sidebar simply doesn\'t exist, so we\'ll hard-code in
* some default sidebar stuff just in case.
*/
if ( ! dynamic_sidebar( \'primary-widget-area\' ) ) : ?>
<?php endif; // end primary widget area ?>
</ul>
<?php
// A second sidebar for widgets, just because.
if ( is_active_sidebar( \'secondary-widget-area\' ) ) : ?>
<ul>
<?php dynamic_sidebar( \'secondary-widget-area\' ); ?>
</ul>
<?php endif; ?>
</aside>
最合适的回答,由SO网友:Johannes Pille 整理而成
使用Conditional Tags 仅在满足特定条件时显示内容。
在您的情况下,您可能希望使用is_front_page()
.
<aside>
<ul>
<?php
if ( function_exists( \'dynamic_sidebar\' ) ) {
if ( is_front_page() ) {
if ( ! dynamic_sidebar( \'frontpage-widget-area\' ) ) {
echo \'<li>No sidebars for the frontpage.</li>\'; // some default output
}
} else {
if ( ! dynamic_sidebar( \'primary-widget-area\' ) ) {
echo \'<li>No sidebars for posts/pages.</li>\'; // some default output
}
}
} else {
echo \'<li>Sidebars disabled.</li>\'; // some default output
}
?>
</ul>
</aside>
假设这两个小部件区域已通过
register_sidebar()
预先