如何在没有侧边栏的情况下添加类?

时间:2012-12-30 作者:user25381

如果没有定义侧栏,我想向页面模板的主体添加一个类。我该怎么做?

4 个回复
最合适的回答,由SO网友:Norcross 整理而成

如果您使用的是实际的页面模板(在管理区域的下拉面板中选择),那么在body\\u类函数中使用is\\u page\\u template(\'file-name.php\')即可。

然后,CSS就是body。类名#内容将仅应用于该模板区域。

SO网友:fuxia

如果您不知道侧边栏的名称,可以使用wp_get_sidebars_widgets():

add_filter( \'body_class\', \'wpse_77719_sidebar_body_class\' );

function wpse_77719_sidebar_body_class( $classes )
{
    $classes[] = wp_get_sidebars_widgets() ? \'has-sidebar\' : \'no-sidebar\';
    return $classes;
}
如果你知道他们的名字is_active_sidebar() 在像@s\\u ha\\u dum建议的那样的函数中。

SO网友:s_ha_dum

我相信你需要is_active_sidebar.

if (!is_active_sidebar(\'sidebar-name\')) $class = \'no-sidebar\';
或者可能is_dynamic_sidebar.

SO网友:karimhossenbux

使用php,我们可以使用ob\\u start()和ob\\u get\\u clean()实现这一点,但这有点像黑客。

更好地使用javascript:

if (!document.contains(document.getElementById(\'secondary\'))) {
    document.body.classList.add(\'no-sidebar\');
}
在哪里secondary 是您的边栏ID

结束

相关推荐

Sidebar.php中多个is_page()条件的条件标记问题

我今天一直在努力把事情做好。基本上,我有一个侧栏,它向各个文件(如sidebar-home.php、sidebar-residential.php)发出请求,并根据您所在的页面加载不同的动态菜单。以前,在以下位置之间移动时很容易设置:is\\U页面、is\\U单一、is\\U类别、is\\U存档等。。。但是,正如我所读到的,is\\u页面始终返回true,尽管存在任何重置或endif条件。希望听到一些关于我在这里做错了什么的反馈。如何获取is\\U页(24)和is\\U页(36)以查看侧边栏的不同部分?代