是否使用快捷代码隐藏/禁用侧边栏?

时间:2011-04-03 作者:Wordpressor

这个问题很简单,但实际上很复杂。

我已经为博客中的每个帖子/页面功能实现了自定义侧栏。

它看起来像:

<div id="<?php echo get_option(\'sidebar-layout\');" ?>
 <div id="content">
   Some content
   [myshortcode]
 </div>
 <div id="sidebar">
   Sidebar 
 </div>
</div>
边栏布局选项可以有三个值-左、右和无。默认为“无”。它们都是通过post/page下的metabox设置的。

这里最大的问题是,当用户选择left时,第一个div得到“left”类,其他所有内容都基于这个ID,例如。

#left #content {
     style;
}
当他选择“正确”时,就会采用不同的风格:

#right #content {
     another style;
}
所以我的“myshortcode”应该基本上更改parents DIV id。

有什么办法可以做到这一点吗?我相信我的短代码将在div ID之后执行。

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

使用此代码回显div的ID

<?php $sidebar_layout = get_post_meta($post->ID, \'sidebar-layout\', $single = true); ?>
<div id="<?php echo $sidebar_layout ?>">
    <div class="content">
         ...
    </div>
    <div class="sidebar">
    ...
    </div>
</div>
如果要根据用户所做的选择应用样式,请按以下方式更改样式表:

#left .content{ ... }
#left .sidebar{ ... }
#right .content{ ... }
#right .sidebar{ ... }
#none .content{ ... }
#none .sidebar{ ... }
我希望这有帮助。

结束

相关推荐

Dividing widgets in sidebar?

我有一个自定义的边栏叫做页脚。我使用以下代码显示此侧栏:<?php if ( !function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'Footer\') ) : ?> (maybe I should do something in this line?) :) <?php endif; ?> 这很顺利,但现在几乎每个主题都允许用户将其小部件放在列中,就像这样:http://ka