2012-12-16 36 views
0

的WordPress 3.5WordPress的侧边栏小工具不能呆在

我通过WordPress register_sidebar documentation建立动态侧边栏,看起来像:

$sidebar = array(
    'name'   => 'Main Side Bar', 
    'id'   => 'Aisis_Side_Bar', 
    'before_widget' => '<li>', 
    'after_widget' => '</li>', 
    'before_title' => '<h2>', 
    'after_title' => '</h2>' 
); 

register_sidebar($sidebar); 

的问题是,当我进入管理部分的小部件部分将小部件拖放到侧边栏上,一切正常。如果我刷新或离开该页面,并返回小部件消失,边栏是空的。

他们也没有出现在前端。

想法?

+0

这没有什么错,唯一不同的是我看到的是你的ID使用下划线而不是连字符来分隔单词,但如果这样做有所帮助,我会感到惊讶。你把这些代码放在哪里? – Michael

+0

functions.php文件 – TheWebs

回答

1

因为发表评论太长,所以不是真正的答案。

然后你的模板中有类似<?php dynamic_sidebar('Main Side Bar'); ?>的东西?

有两次我见过WordPress小部件消失了,两者都与通过Ajax处理所有内容的页面有关。第一种情况是,当您只查看外观>>小部件并且将页面打开很长一段时间时,WordPress会将您标记出来,但页面始终保持正常状态,即使没有任何内容可以保存。

另一次是有多个管理员。每次单击保存任何小部件时,所有小部件及其选项都会保存,它不仅会保存您单击保存的小部件的信息。因此,如果另一个人以管理员身份登录并正在查看外观>>小工具,那么您将小工具保存到“主工具栏”,除非刷新外观>>小工具,否则它们不会显示在其屏幕中。所以,现在如果他们点击保存在任何窗口小部件上,它将“主窗口栏”保存为空并“擦除”您的窗口小部件。

此外,如果您创建了多个窗口小部件区域,请确保将它们添加到functions.php中的其他窗口下方。 WordPress根据其ID号将小部件放在适当的区域,而不是基于它的名称或您设置的ID。因此,如果“ABC”是您注册的第一个窗口小部件区域,那么您将放置一些窗口小部件,然后注册一个新的区域“DEF”以上另一个在functions.php中,ABC现在将为空。

如果这些情况都不适用于您,您可能需要尝试更改ID以使用连字符,而不仅仅是它。然后开始查看错误日志,禁用所有插件,确保mod_security不拦截帖子,类似的东西。

+0

没有一个解决了这个问题,在错误日志中没有错误。这可能是一个JavaScript问题? – TheWebs

0

老问题,但今天之后3年,IM仍然有麻烦了,我的解决办法:

更改侧边栏阵列的idcameCase喜欢的东西snake_casespinal-case