对于自定义侧边栏在更新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;
}`
答案 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来确定小部件显示在哪个页面上。