从外观上看,最安全、最简单的方法是专门为您使用的fork the More Fields插件。我能看到您的叉子需要的两个最大的功能是一个字段;“工厂”;和拖放界面。
多个字段
我的建议是查看
WordPress Widget class 并将其用作您的字段工厂的模型-基本上,在为字段构建框架后,借用创建多个字段实例的功能。
这是多个小部件如何在侧边栏中工作的核心:
通过扩展WP_Widget
类别然后,您可以根据需要创建任意多个小部件的副本。每个小部件的详细信息以序列化数据的形式存储在选项表中。您可以自定义每个小部件,通过简单的delete
命令,并通过外观拖放界面明确设置其位置。再次,我建议查看WordPress小部件系统以获得灵感。我们已经在那里设置了一个相当直观的拖放界面,因此在其他地方重新使用大部分相同的代码将相当容易。或者,如果您真的想变得有趣,您可以在一个单独的自定义元字段中实现自己的拖放系统。
因此,每张幻灯片都将由链接到帖子的自定义元框定义。幻灯片的顺序将由一个单独的自定义元框设置,该框也链接到帖子。我建议您通过AJAX提交幻灯片更新,以便您可以根据信息动态更新幻灯片顺序元框(这样可以避免在移动内容之前手动点击“更新”并等待页面重新加载)。
jQuery UI有一个很好的;draggable&引用;在这个自定义元框中,您可以为自己的目的轻松操纵的接口。最困难的部分不是构建界面,而是在元框和页面其他地方的幻灯片元框集合之间实现一致、准确的通信。
总之,我从你的帖子中得到的信息是,你有一个可行的解决方案:
您已经通过“更多字段”小部件向自定义帖子类型添加了15个自定义字段,但希望动态添加/删除字段,而不是使用设置的数字。您希望有一种方法来调整这些自定义字段的顺序,以便幻灯片按顺序加载。我的方法是将自定义元创建过程抽象到一个类中,我可以反复使用创建新的自定义元字段。然后,我将扩展该类以初始化两种类型的元框:一种用于幻灯片,另一种用于幻灯片结构。我还将在幻灯片结构元框中构建动态创建新幻灯片元框的功能(幻灯片元框将包含自己的“删除”操作)。
整个幻灯片不是通过幻灯片元框存储的,而是通过幻灯片结构元框存储到post的自定义元字段中-自定义元将是一个锯齿状数组,其中每个幻灯片按顺序表示为数组。在结构元框中自定义幻灯片的顺序将重新组织数组并重新保存后期元。这样,当我想要访问幻灯片时,我只有1个元值可以读出。
在SlideDeck、更多字段和到目前为止已组合的自定义代码之间,您已经掌握了大部分解决方案。。。你只需要让所有的工作同时进行。在添加JavaScript修饰之前,我会首先关注根实现——动态创建、修改、保存和删除幻灯片比富文本编辑器IMO更重要。首先解决这个问题。然后关闭订购系统<然后,您可以集中精力在页面上获取TinyMCE的多个实例。