0

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

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

它们也不会出现在前端。

想法?

4

2 回答 2

1

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

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

有两次我看到 WordPress 小部件消失了,而且都与通过 Ajax 做所有事情的页面有关。第一种是当您只查看外观>>小部件并且您长时间打开页面时,WordPress 会注销您,但页面仍然正常运行,即使没有保存任何内容。

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

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

如果这些情况都不适用于您,您可能想尝试更改 ID 以使用连字符来解决问题。然后开始查看你的错误日志,禁用所有插件,确保 mod_security 没有拦截帖子,诸如此类。

于 2012-12-16T18:16:39.567 回答
0

老问题,但是3年后的今天,我仍然遇到问题,我的解决方法:

id将侧边栏数组从更改为cameCase类似snake_caseor spinal-case

于 2016-10-31T03:21:45.260 回答