自定义随机引用小工具在多个侧边栏中使用时中断

时间:2011-05-21 作者:bigsweater

我创建了一个自定义小部件并将其放入函数中。php。您可以在此处看到小部件:

http://pastebin.com/3uWpeaFx

(我还创建了一个类似的小部件,可以捕获随机图像;它包含在粘贴箱中。)

该小部件允许用户插入多达十个文本/HTML块,将它们存储在JS中的一个数组中,并使用JS随机显示一个。

这些是基于WP附带的默认文本小部件的超级简单小部件。(我不是PHP专家,所以可能有一种更优雅的方法来创建它们,但它们很容易使用,这正是客户端所需要的。)

我遇到的问题是:

使用多个随机文本小部件,甚至在不同页面上显示的多个不同侧栏上,都会导致除原始小部件外的所有小部件返回“未定义”。

您放入框中的文本似乎存储正确,可以通过WP管理界面进行编辑;但在前端显示时,它无法正确地回显文本。

我确信我在小部件中缺少了一些简单的东西。。。有什么线索吗?

谢谢

1 个回复
最合适的回答,由SO网友:bigsweater 整理而成

无需父级:不工作的小部件和工作的小部件之间的区别是:

$text1 = apply_filters( \'widget_text1\', $instance[\'text1\'], $instance );
vs:

$text1 = apply_filters( \'widget_text1\', empty($instance[\'text1\']) ? \'\' : $instance[\'text1\'], $instance, $this->id_base);
我意识到将多个随机文本小部件放在同一个页面上,它们的标题起作用,但它们的文本内容却不起作用。因此,我将属性(空($实例…等)从标题复制到每个文本实例。

小部件本身是实例化的,但文本区域不是。至少,我认为是这样的。我对PHP的了解还不够肯定。

如果有人知道为什么第二个版本有效而第一个版本无效,我很高兴听到这句话

结束

相关推荐

Sidebar Generator? :)

我厌倦了编辑功能。每次我想添加/删除侧栏时,都会使用php。我知道有Sidebar Generator plugin, 但我想自己开发一些东西,不用插件就可以开箱即用。无论如何,我已经知道如何列出所有侧边栏,如何注册和删除它们,但我不知道如何从选项页自动执行此操作(当然我已经有了一个)。我已经分析了插件的代码,但我的PHP很烂,所以我不懂一半甚至更多。也许这里有人开发了自己的边栏生成器,可以帮助我掌握一些基本知识,比如如何使用$\\u POST等注册新的边栏。?我在考虑fopen(“functions.p