我可以在WordPress中创建像iGoogle一样的拖放小工具吗?

时间:2010-09-16 作者:MsManiya

我想在WordPress中制作类似iGoogle的东西,在其中我可以拖放小部件。如何在HTML 5中做到这一点?

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

这是一个有趣的问题。总的来说,我同意埃曼的观点——这更适合于更一般性的讨论。然而,鉴于您在这里提出的问题,我将给出您可能想要使用的特定于Wordpress的方法。

在Wordpress的上下文中,“widget”显然有特定的含义。Wordpress边栏小部件系统具有高度的灵活性,并且得益于具有大量可用小部件的成熟系统。这使它成为一个明智的起点。例如,您可以制作一个模板,其中包含多个相邻排列的侧栏。

设置小部件的样式应该很容易。要使它们可以拖放、折叠、可编辑等,我建议this tutorial, 它用jQuery UI演示了这些技术。

现在有点棘手了。我假设您希望每个用户都能够配置自己的小部件,并且这些更改应该是持久的。(如果这两个要求中的任何一个都是不必要的,那么就容易多了。)这很难-我们不能使用Wordpress小部件系统来存储这些首选项,但我们可以从中获得灵感。

如果安装了PhpMyAdmin(或类似软件),请转到wordpress数据库并执行以下操作:

SELECT *
FROM `wp_options`
WHERE `option_name`
REGEXP \'^widget_\'
LIMIT 0 , 30
对于详细信息,您应该使用存储的PHP数组获得全部结果。如果每个用户都能够设置自己的小部件,则可以使用此格式,但在选项名称的末尾附加一个用户id。您可以编写一段简单的AJAXy javascript,以便在每次更改时发送小部件安排的详细信息。然后PHP接收器将相应地更新数据库。

这是保存用户数据的一种方法,但是我们如何检索并再次显示它呢?就我个人而言,我首先会让wordpress正常提供默认值。(可能使用CSS覆盖和/或进度微调器。)然后,我将发出另一个AJAX请求并加载用户指定的小部件。具体来说,我将首先加载排列,然后分别将数据(再次通过AJAX)加载到每个框中。这将加快感知加载时间。

所以我们开始了。抱歉,这是一个很高层次的答案,但这是一个影响深远的问题。我希望我给了你一些想法。祝你好运

PS如果你能做到这一点,我建议将其作为插件分发。

结束

相关推荐