个性化阅读
专注于IT技术分析

WordPress侧边栏小部件无法保留

点击下载

WordPress 3.5

我通过WordPress register_sidebar文档构建了一个动态边栏, 如下所示:

$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);

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

它们也不会出现在前端。

有想法吗?


#1


在这里发布内容是因为评论太长, 而不是真正的答案。

然后, 你会看到类似<?php dynamic_sidebar(‘Main Side Bar’);的东西。 ?>在你的模板中?

我有两次看到WordPress小部件消失了, 这两者都与通过Ajax执行所有操作的页面有关。第一种是当你仅查看外观>>窗口小部件并且长时间使页面处于打开状态时, WordPress会退出你的页面, 但即使没有任何保存, 页面仍会像往常一样运行。

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

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

如果这些情况都不适合你, 则你可能希望尝试更改ID以仅使用连字符。然后开始查看你的错误日志, 禁用所有插件, 确保mod_security不会截获该信息, 诸如此类。


#2


这是个老问题, 但是3年后的今天, 即时通讯仍然遇到问题, 我的解决方法是:

将侧边栏数组的id从cameCase更改为snake_case或spinal-case!

赞(0)
未经允许不得转载:srcmini » WordPress侧边栏小部件无法保留

评论 抢沙发

评论前必须登录!