Wordpress动态页脚小部件 - 仅当一个小部件存在时才显示第二个小部件区域,否则显示1

时间:2018-04-24 13:47:35

标签: php html css wordpress widget

我正在WordPress主题的页脚中创建一个动态窗口小部件区域。

我要做的是, 创建4个小部件,但只显示下一个小部件。

所以默认情况下,我会看到一个名为footer one的小部件

如果我们添加页脚一个页脚2选项将显示,但在页脚中,我们将看到一个页脚小部件如果我们在页脚2中添加第二个小部件我们将看到小部件3.如果我们在页脚3中添加小部件我们会看到页脚4。

如果只有页脚1存在宽度100%,我需要设置样式 如果2存在页脚1 50%。页脚2 50%

如果3存在页脚1 33%页脚2 33%。页脚3 33%

如果有4个页脚1 25%页脚2 25%页脚3 25%页脚4 25%

重要, 我成功完成了这项工作。但是,如果我仍然无法使其他小部件显示,只有父元素被填充。

这是我的代码:

    <div class="footer-widgets">

    <?php
    /* The footer widget area is triggered if any of the areas
     * have widgets. So let's check that first.
     *
     * If none of the sidebars have widgets, then let's bail early.
     */
    if (   ! is_active_sidebar( 'first-footer-widget-area'  )
        && ! is_active_sidebar( 'second-footer-widget-area' )
        && ! is_active_sidebar( 'third-footer-widget-area'  )
        && ! is_active_sidebar( 'fourth-footer-widget-area' )
    )
        return;

    if (   is_active_sidebar( 'first-footer-widget-area'  )
        && is_active_sidebar( 'second-footer-widget-area' )
        && is_active_sidebar( 'third-footer-widget-area'  )
        && is_active_sidebar( 'fourth-footer-widget-area' )
    ) : ?>

    <aside class="fatfooter" role="complementary">
        <div class="first quarter left widget-area">
            <?php dynamic_sidebar( 'first-footer-widget-area' ); ?>
        </div><!-- .first .widget-area -->

        <div class="second quarter widget-area">
            <?php dynamic_sidebar( 'second-footer-widget-area' ); ?>
        </div><!-- .second .widget-area -->

        <div class="third quarter widget-area">
            <?php dynamic_sidebar( 'third-footer-widget-area' ); ?>
        </div><!-- .third .widget-area -->

        <div class="fourth quarter right widget-area">
            <?php dynamic_sidebar( 'fourth-footer-widget-area' ); ?>
        </div><!-- .fourth .widget-area -->
    </aside><!-- #fatfooter -->

    <?php 
    elseif ( is_active_sidebar( 'first-footer-widget-area'  )
        && is_active_sidebar( 'second-footer-widget-area' )
        && is_active_sidebar( 'third-footer-widget-area'  )
        && ! is_active_sidebar( 'fourth-footer-widget-area' )
    ) : ?>
    <aside class="fatfooter" role="complementary">
        <div class="first one-third left widget-area">
            <?php dynamic_sidebar( 'first-footer-widget-area' ); ?>
        </div><!-- .first .widget-area -->

        <div class="second one-third widget-area">
            <?php dynamic_sidebar( 'second-footer-widget-area' ); ?>
        </div><!-- .second .widget-area -->

        <div class="third one-third right widget-area">
            <?php dynamic_sidebar( 'third-footer-widget-area' ); ?>
        </div><!-- .third .widget-area -->

    </aside><!-- #fatfooter -->

    <?php
    elseif ( is_active_sidebar( 'first-footer-widget-area'  )
        && is_active_sidebar( 'second-footer-widget-area' )
        && ! is_active_sidebar( 'third-footer-widget-area'  )
        && ! is_active_sidebar( 'fourth-footer-widget-area' )
    ) : ?>
    <aside class="fatfooter" role="complementary">
        <div class="first half left widget-area">
            <?php dynamic_sidebar( 'first-footer-widget-area' ); ?>
        </div><!-- .first .widget-area -->

        <div class="second half right widget-area">
            <?php dynamic_sidebar( 'second-footer-widget-area' ); ?>
        </div><!-- .second .widget-area -->

    </aside><!-- #fatfooter -->

    <?php
    elseif ( is_active_sidebar( 'first-footer-widget-area'  )
        && ! is_active_sidebar( 'second-footer-widget-area' )
        && ! is_active_sidebar( 'third-footer-widget-area'  )
        && ! is_active_sidebar( 'fourth-footer-widget-area' )
    ) :
    ?>
    <aside class="fatfooter" role="complementary">
        <div class="first full-width widget-area">
            <?php dynamic_sidebar( 'first-footer-widget-area' ); ?>
        </div><!-- .first .widget-area -->

    </aside><!-- #fatfooter -->


    <?php //end of all sidebar checks.
    endif;?>

</div>

1 个答案:

答案 0 :(得分:0)

您可以在Wordpress PHP中使用If else并在其基础上打印CSS ...只需引用一个返回活动小部件数量的钩子...

这可以帮助您构建一个函数来获取活动小部件:https://generatewp.com/snippet/2V0V0gy/

谢谢!