WordPress边栏小部件不停留

时间:2012-12-16 17:50:26

标签: php wordpress wordpress-theming sidebar

WordPress 3.5

我通过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);

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

他们也没有出现在前端。

想法?

2 个答案:

答案 0 :(得分:1)

在此发帖,因为评论时间太长,而不是真正的答案。

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

有两次我看到WordPress小部件消失了,两者都与通过Ajax执行所有操作的页面相关。第一种是当您只查看外观&gt;&gt;小部件和你让页面打开很长一段时间,WordPress会告诉你,但页面保持正常,即使没有任何节省。

另一个时间是有多个管理员。每次单击任何窗口小部件上的保存时,所有窗口小部件及其选项都会保存,它不会保存您单击的窗口小部件的信息。因此,如果另一个人以管理员身份登录并正在查看外观&gt;&gt;小部件,然后您将小部件保存到&#34;主侧栏&#34;,它将不会显示在他们的屏幕上,除非他们刷新外观&gt;&gt;窗口小部件。所以现在如果他们点击任何小部件上的保存,它就会保存&#34;主侧栏&#34;空的,&#34;擦除&#34;你的小部件。

此外,如果您创建多个小部件区域,请务必将它们添加到functions.php中的其他小部件区域下方。 WordPress根据其ID号将小部件放在适当的区域,而不是基于其名称或您设置的ID。所以如果&#34; ABC&#34;是你注册的第一个小部件区域,然后你删除一些小部件,然后你注册一个新的区域&#34; DEF&#34; 上面在functions.php中的另一个,ABC现在将为空。

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

答案 1 :(得分:0)

老问题,但今天3年后,我仍然遇到麻烦,我的修复:

将侧栏阵列的idcameCase更改为snake_casespinal-case