错误500:PHP致命错误:无法重新声明thim_widgets_inits()
问题描述:
我在页面tolkeuddannelsen.dk上收到error500。通过错误日志,我可以在我的主题function.php中找到它的93-185行,这是造成麻烦的原因。这是我的网络主机说的: 后端致命错误:PHP致命错误:无法在/ var/www /中重新声明thim_widgets_inits()(以前在/var/www/www.tolkeuddannelsen.dk/www/functions.php:93中声明) www.tolkeuddannelsen.dk/www/wp-content/themes/elearningwp/functions.php on line 185 \ n,referer:http://tolkeuddannelsen.dk/错误500:PHP致命错误:无法重新声明thim_widgets_inits()
这些行代码看起来像这样。
function thim_widgets_inits() {
register_sidebar(array(
'name' => __('Sidebar 1', 'thim'),
'id' => 'sidebar-1',
'description' => 'Left Sidebar',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
// register_sidebar(array(
// 'name' => __('Sidebar 2', 'thim'),
// 'id' => 'sidebar-2',
// 'description' => 'Right Sidebar',
// 'before_widget' => '<aside id="%1$s" class="widget %2$s">',
// 'after_widget' => '</aside>',
// 'before_title' => '<h4 class="widget-title">',
// 'after_title' => '</h4>',
// ));
register_sidebar(array(
'name' => 'Top Drawer',
'id' => 'drawer_top',
'description' => __('Drawer Top', 'thim'),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
register_sidebar(array(
'name' => __('Offcanvas', 'thim'),
'id' => 'offcanvas_sidebar',
'description' => 'Drawer Right',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
register_sidebar(array(
'name' => 'Menu Right',
'id' => 'menu_right',
'description' => __('Menu Right', 'thim'),
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
register_sidebar(array(
'name' => 'Footer',
'id' => 'footer',
'description' => __('Footer Sidebar', 'thim'),
'before_widget' => '<aside id="%1$s" class="widget %2$s footer_widget">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
register_sidebar(array(
'name' => 'Copyright',
'id' => 'copyright',
'description' => __('Copyright', 'thim'),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
register_sidebar(array(
'name' => __('Sidebar Shop', 'thim'),
'id' => 'shop',
'description' => 'Shop Sidebar',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
if (class_exists('LearnPress')) {
register_sidebar(array(
'name' => 'Top Sidebar Courses',
'id' => 'top_sidebar_courses',
'description' => __('Top Sidebar Courses', 'thim'),
'before_widget' => '',
'after_widget' => '',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
register_sidebar(array(
'name' => 'Sidebar Courses',
'id' => 'sidebar_courses',
'description' => __('Sidebar Courses', 'thim'),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
}
}
任何人都可以帮助我解决这个问题吗?谢谢!
答
这是因为你正在重新声明你已经声明的函数。
使用这一个:
function thim_widgets_inits_child() {
register_sidebar(array(
'name' => __('Sidebar 1', 'thim'),
'id' => 'sidebar-1',
'description' => 'Left Sidebar',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
// register_sidebar(array(
// 'name' => __('Sidebar 2', 'thim'),
// 'id' => 'sidebar-2',
// 'description' => 'Right Sidebar',
// 'before_widget' => '<aside id="%1$s" class="widget %2$s">',
// 'after_widget' => '</aside>',
// 'before_title' => '<h4 class="widget-title">',
// 'after_title' => '</h4>',
// ));
register_sidebar(array(
'name' => 'Top Drawer',
'id' => 'drawer_top',
'description' => __('Drawer Top', 'thim'),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
register_sidebar(array(
'name' => __('Offcanvas', 'thim'),
'id' => 'offcanvas_sidebar',
'description' => 'Drawer Right',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
register_sidebar(array(
'name' => 'Menu Right',
'id' => 'menu_right',
'description' => __('Menu Right', 'thim'),
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
register_sidebar(array(
'name' => 'Footer',
'id' => 'footer',
'description' => __('Footer Sidebar', 'thim'),
'before_widget' => '<aside id="%1$s" class="widget %2$s footer_widget">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
register_sidebar(array(
'name' => 'Copyright',
'id' => 'copyright',
'description' => __('Copyright', 'thim'),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
register_sidebar(array(
'name' => __('Sidebar Shop', 'thim'),
'id' => 'shop',
'description' => 'Shop Sidebar',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
if (class_exists('LearnPress')) {
register_sidebar(array(
'name' => 'Top Sidebar Courses',
'id' => 'top_sidebar_courses',
'description' => __('Top Sidebar Courses', 'thim'),
'before_widget' => '',
'after_widget' => '',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
register_sidebar(array(
'name' => 'Sidebar Courses',
'id' => 'sidebar_courses',
'description' => __('Sidebar Courses', 'thim'),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
));
}
}
在使用行动
add_action('init','thim_widgets_inits_child');
谢谢!!后我应该删除已经存在的这个add_action并将其替换为你的吗? add_action('widgets_init','thim_widgets_inits'); –
是的,你可以用add_action('widgets_init','thim_widgets_inits_child')替换它。 –
嗯。现在我尝试了它,但它仍然没有工作。它可能是别的吗? –