如果未添加侧边栏,则显示不同的网站布局

时间:2014-12-21 作者:Jornes

我有一个关于侧边栏中有无wp widges的网站布局的问题。这是我注册的边栏的代码。

<?php
if ( !function_exists(\'dynamic_sidebar\')
|| !dynamic_sidebar(products) ) :
endif;
?>
这是我在函数中的代码。php

if (function_exists(\'register_sidebar\')) {
        $opts   = array(
        \'name\'          =>  \'Products\',
        \'before_widget\' =>  \'<div id="%1$s2" class="container %2$s">\',
        \'after_widget\'  =>  \'</div>\',
        \'before_title\'  =>  \'<p class="h4">\',
        \'after_title\'   =>  \'</p>\'
    );
    register_sidebar($opts);
}
在为我的客户设计网站时,我为两种不同的布局编写了自己的css。它们是一栏式布局和两栏式布局,两栏式布局是一个较小的&;一个大的列布局(用于wp小部件)。

如果我没有将wp widget添加到我想要的页面中,是否有任何方法可以将网页显示为一栏式网站布局?换言之,如果没有应用小部件,则网页将是一列,否则如果该网页包含小部件,则网页将是两列的网站布局?

也许这就是我想要的。

<?php if --- with sidebar ---
?>

<div id="column-1">
Column 1 appears
</div>

<?php elseif --- without sidebar ---
?>

<div id="column-2">
Column 2 appears
</div>

endif;?>
你认为这样行吗?请给出建议。如果这可以在wp php编码中完成,那就太好了。非常感谢。

2 个回复
SO网友:Rarst

您可以使用is_active_sidebar() 作为将样式排队的条件。它正是这样做的——告诉您它是否分配了任何小部件。

PS停止function_exists() 疯狂:)这在现代WordPress中是完全没有意义的检查。

SO网友:Dejo Dekic

您可以在函数内部执行类似的操作。php:

add_action( \'wp_head\', \'dynamic_layout\' );

function dynamic_layout() {
echo \'<style type="text/css">\'; 

if ( is_active_sidebar( \'secondary\' ) && is_active_sidebar( \'main\' ) ) {//If both sidebars are active
?>
#blog {

width: 100%;
}

<?php } // End If both sidebars are active 

else if ( !is_active_sidebar( \'secondary\' ) && is_active_sidebar( \'main\' ) ) {/*If main sidebar here*/
 ?>
.post {
width: 239px;
margin-right: 7px;
}

<?php }/*End If main sidebar here*/

else if ( !is_active_sidebar( \'secondary\' ) && !is_active_sidebar( \'main\' )) {/*No sidebar*/
?>

#blog {
float: none;
max-width: 100%;
}

<?php } /*End No sidebar*/

else if ( is_active_sidebar( \'secondary\' ) && !is_active_sidebar( \'main\' ) ){/*If only secondary sidebar is here */
?>

#blog{
float: left;
}

<?php }   /*End If only secondary sidebar is here */
echo \'</style>\';
}//End function dynamic_sidebar_layout

结束

相关推荐

in_category in index.php

我正在尝试分类,因为我正在处理一个主题,该主题将在头版上有许多不同的部分。对这些部分使用类别是有意义的。现在,我有三个部门,分别在3个不同类别中设置了职位。我有一个博客,关于和团队类别。每个类别都有特定的html。所以在主循环中,我试图检查显示的是哪个类别。我想我可以做这样的事。。 if has post while has post, the post if in_cateogory(\'blog\') get post content endif