这个问题很简单,但实际上很复杂。
我已经为博客中的每个帖子/页面功能实现了自定义侧栏。
它看起来像:
<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之后执行。
最合适的回答,由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{ ... }
我希望这有帮助。