Php 设置内容相对于侧边栏的位置

Php 设置内容相对于侧边栏的位置,php,css,wordpress,Php,Css,Wordpress,我正在Wordpress上使用customizer设置不同的布局,并更改侧边栏的位置。 脚本的工作原理是这样的:它在侧边栏(左侧或右侧)上设置一个浮动。 但当侧边栏设置为左侧时,它会位于内容下方(因为内容处于浮动:左侧;) 结构是这样的 <div class="home"> <div class="content" style="float:left;"> <?php get_template_part('loop'); ?> </div

我正在Wordpress上使用customizer设置不同的布局,并更改侧边栏的位置。 脚本的工作原理是这样的:它在侧边栏(左侧或右侧)上设置一个浮动。 但当侧边栏设置为左侧时,它会位于内容下方(因为内容处于
浮动:左侧;

结构是这样的

<div class="home">
  <div class="content" style="float:left;">
    <?php get_template_part('loop'); ?>
  </div>

  <div class="sidebar">
    <?php get_sidebar(); ?>
  </div>
</div>
如何自动更改内容相对于侧边栏的位置?
简单CSS还是我需要在脚本中添加一些东西来设置内容的相反浮动位置?

如果您想通过CSS浮动左键将边栏位置设置为内容的左侧,则边栏必须放在内容之前。因此,您可以检查如下设置:

<div class="home">
    <?php if ($sidebar_position == 'left') { ?>
        <div class="sidebar">
            <?php get_sidebar(); ?>
        </div>
    <?php } ?>

    <div class="content" style="float:left;">
        <?php get_template_part('loop'); ?>
    </div>

    <?php if ($sidebar_position == 'right') { ?>
        <div class="sidebar">
            <?php get_sidebar(); ?>
        </div>
    <?php } ?>
</div>


我可以通过在内容栏和侧边栏中添加display:inline块来修复它。我仍然想知道是否有更好的解决方案。很可能,您应该在侧边栏容器上设置
overflow:hidden
,但我这里只是随便猜测一下,因为这取决于您的WP主题。如果您想要一个正确的答案,您需要在测试环境中重现该问题,例如。
$wp_customize->add_setting('sidebar_position', array());
$wp_customize->add_control('sidebar_position', array(
  'label'      => __('Sidebar position', 'Blog'),
  'section'    => 'layout',
  'settings'   => 'sidebar_position',
  'type'       => 'radio',
  'choices'    => array(
    'left'   => 'left',
    'right'  => 'right',
  ),
));
<div class="home">
    <?php if ($sidebar_position == 'left') { ?>
        <div class="sidebar">
            <?php get_sidebar(); ?>
        </div>
    <?php } ?>

    <div class="content" style="float:left;">
        <?php get_template_part('loop'); ?>
    </div>

    <?php if ($sidebar_position == 'right') { ?>
        <div class="sidebar">
            <?php get_sidebar(); ?>
        </div>
    <?php } ?>
</div>