将小部件添加到反应堆主题(基于Foundation 4)

时间:2013-11-15 作者:martcol

如何将页脚区域更改为具有三个小部件区域?

Reactor主题有一个页脚小部件区域。如果添加了多个小部件,它将分为三列,但我发现很难与使用的三个以上的小部件相平衡。因此,我尝试将其更改为页脚中的三个小部件区域。

我以前做过这件事,但并没有像Reactor处理所有这些函数、挂钩、动作和东西那样展开主题。无论如何,我尝试过在两个文件中更改代码,并将其放在这里:

http://pastebin.com/MA4nrPBq

我想在我的管理区域获得三个页脚小部件,但不想在我的页面上。我想我有正确的代码可以编辑,但我如何编辑代码才能继续?

谢谢

马丁

下面是我正在尝试的代码:

//In sidebars.php

        if ( in_array( \'footer\', $sidebars[0] ) ) {
                $footer  = \'<div id="%1$s" class="widget top-bar-widget \';
                $footer .= \'large-\' . reactor_get_widget_columns(\'sidebar-footer-01\'); //Added -01
                $footer .= \' columns %2$s">\';
                register_sidebar( array(
                        \'name\'          => __(\'Footer 01\', \'reactor\'), //Added 01
                        \'id\'            => \'sidebar-footer-01\', //Added -01
                        \'description\'   => \'Footer widget area\',
                        \'class\'         => \'\',
                        \'before_widget\' => $footer,
                        \'after_widget\'  => \'</div>\',
                        \'before_title\'  => \'<h4 class="widget-title">\',
                        \'after_title\'   => \'</h4>\',
                ) );
        }
        if ( in_array( \'footer\', $sidebars[0] ) ) {
                $footer  = \'<div id="%1$s" class="widget top-bar-widget \';
                $footer .= \'large-\' . reactor_get_widget_columns(\'sidebar-footer-02\'); //Added -02
                $footer .= \' columns %2$s">\';
                register_sidebar( array(
                        \'name\'          => __(\'Footer 02\', \'reactor\'), //Added 02
                        \'id\'            => \'sidebar-footer-02\', //Added -02
                        \'description\'   => \'Footer widget area\',
                        \'class\'         => \'\',
                        \'before_widget\' => $footer,
                        \'after_widget\'  => \'</div>\',
                        \'before_title\'  => \'<h4 class="widget-title">\',
                        \'after_title\'   => \'</h4>\',
                ) );
        }
//The above code is just a copy of Reactor code.  I just added the 01, 02 and did it 4 times.

//In sidebar-footer.php

                <?php if ( is_active_sidebar(\'sidebar-footer\') ) : ?>
            <div class="row">
                <div class="<?php reactor_columns( 12 ); ?>">
                    <div id="sidebar-footer" class="sidebar" role="complementary">
                      <?php dynamic_sidebar(\'sidebar-footer-01\'); ?> //Added -01
                      <?php dynamic_sidebar(\'sidebar-footer-02\'); ?> //Added line
                      <?php dynamic_sidebar(\'sidebar-footer-03\'); ?> //Added line
                    </div><!-- #sidebar-footer -->
                </div><!--.columns -->  
            </div><!-- .row -->
                <?php endif; ?>

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

请注意您为边栏页脚提供的代码。php

<?php if ( is_active_sidebar(\'sidebar-footer\') ) : ?>
。。。总是返回false,因为它不再存在。

由于这是一个自定义主题,您可能只需注释掉或删除该行及其endif对,因为我相信您总是希望标记输出,即使3个侧栏区域为空。

或者:

 <?php if ( ( is_active_sidebar(\'sidebar-footer-01\') || ( is_active_sidebar(\'sidebar-footer-02\') || ( is_active_sidebar(\'sidebar-footer-03\') ) ) : ?>
     <div class="row">
         <div class="<?php reactor_columns( 12 ); ?>">
             <div id="sidebar-footer" class="sidebar" role="complementary">
               <?php dynamic_sidebar(\'sidebar-footer-01\'); ?> //Added -01
               <?php dynamic_sidebar(\'sidebar-footer-02\'); ?> //Added line
               <?php dynamic_sidebar(\'sidebar-footer-03\'); ?> //Added line
             </div><!-- #sidebar-footer -->
         </div><!--.columns -->  
     </div><!-- .row -->
 <?php endif; ?>

结束

相关推荐

Prevent widgets removal

我正在用许多小部件构建一个网站。它们是高度定制的。当站点处于活动状态时,几个管理员/编辑器必须编辑这些小部件。现在,我很害怕看到一个小部件(及其配置)可以在一次鼠标移动中完全擦除(将其从侧栏中删除)。有没有什么方法可以防止小部件被删除,同时保持编辑其内容的能力?此外,在我看来,管理中的widget管理页面为“添加widget”模块提供了太多的空间,而为“激活的widget”模块提供的空间不足。这在创建站点时很有用,但在完成站点时却毫无用处。有没有办法切换这些模块的大小?非常感谢