自定义侧边栏随Wordpress 4.4更新而消失

时间:2015-12-09 20:52:43

标签: wordpress widget themes sidebar

对于自定义侧边栏在更新4.4后停止在Wordpress主题中显示的原因,您有什么初步想法吗?我们的登录/加入页面显示了一个自定义侧边栏,其中包含页面右侧的登录/加入表单以及其他更新。这不是自定义侧边栏插件,它是主题的一部分。有什么想法吗?非常感谢!

可以启用默认侧边栏,但任何自定义创建的侧边栏都会显示为空白。

在functions.php中注册边栏的代码:
include('includes/sidebar/sidebar.php');

sidebar.php中的代码:
include('functions/custom-sidebars.php');

custom-sidebars.php的完整代码:
`// //获取我们的定制边栏     $ sidebars = get_option('dd_custom_sidebars');

//// IF THEY EXIST
if($sidebars) {

    //// LOOPS AND REGISTERS THEM
    foreach($sidebars as $sidebar) {

        $args = array(

            'name' => $sidebar.' — Custom',
            'id' => us_get_sidebar_id($sidebar),
            'description' => $sidebar.' — Custom Sidebar',
            'before_widget' => '<div class="sidebar-item">',
            'after_widget' => '</div>',
            'before_title' => '<h4>',
            'after_title' => '</h4>',

        );

        //// REGISTERS IT
        register_sidebar($args);

    }

}



/// FUNCTION TO GENERATE OUR FRIENDLY NAME
function us_get_sidebar_id($phrase) {

    $result = strtolower($phrase);

    $result = preg_replace("/[^a-z0-9\s-]/", "", $result);
    $result = trim(preg_replace("/[\s-]+/", " ", $result));
    $result = trim(substr($result, 0, 20));
    $result = preg_replace("/\s/", "-", $result);

    return $result;

}`

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,因为我的sidebar.php文件中创建自定义侧边栏的代码错误。 我正在使用这个...

    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Block 3') ) : ?>

而不是这个

    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('block-3') ) : ?>

这是我的functions.php文件

中侧边栏的ID

答案 1 :(得分:0)

作为一种可用的解决方法(但不能解释为什么自定义侧边栏代码不起作用)我现在将所有各种小部件转储到默认侧边栏中,该边栏可以正常工作并使用插件Display Widgets来确定小部件显示在哪个页面上。