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);
问题是,当我进入管理部分的小部件部分将小部件拖放到侧边栏上时,一切正常。如果我刷新或离开该页面并返回,则小部件消失,侧边栏为空。
他们也没有出现在前端。
想法?
答案 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年后,我仍然遇到麻烦,我的修复:
将侧栏阵列的id
从cameCase
更改为snake_case
或spinal-case
!