我需要为我的自定义帖子类型“Slideshow”(此帖子类型已创建)创建一个自定义帖子元框。每个元数据库将保存每个幻灯片中的内容,并将其保存到相应的自定义字段中。每个元数据库应包含以下字段:
标题(文本字段)
最后,我希望能够对幻灯片进行重新排序,无论是通过“拖放”还是通过另一个可以键入订单号的文本字段。
我已经把它拿到我需要的地方了"More Fields" plugin 以及一些来自Rarst的代码帮助。使用“更多字段”插件,我在每个元数据库中都有以下字段:
标题(文本字段)
- 以下是我如何通过“更多字段”插件进行设置的屏幕截图:
- 图像(img URL的文本字段)
- 嵌入代码(文本区域)
- 说明(文本区域)
- 隐藏幻灯片(用于临时隐藏幻灯片而不删除幻灯片的复选框)
这样做的问题是,幻灯片制作完成后无法删除,因为“更多字段”不使用<?php delete_post_meta($post_id, $key, $value); ?>
在任何地方该插件的另一个问题是,它太不可靠,经常会随着更新而中断。
我已经能够使用自己的自定义元数据库实现类似的解决方案,其中包括:
标题(文本字段)
- 使用此实现,我似乎无法让多个TinyMCE字段或图像下拉框正常工作。TinyMCE代码似乎可以工作,直到我添加了创建第一个元盒增量副本的代码,此时我在TinyMCE按钮应该位于的字段上方出现了此错误:
Warning: array_push() [function.array-push]: First argument should be an array...
.此外,现在我依靠我的作者知道为每张幻灯片放入视频或图像,这没关系,但最好有一个单选按钮,让他们选择幻灯片是哪一张(可能默认为图像),它与幻灯片模板中的条件显示语句相关联。
我正在通过侧边栏中的内置“特色图像”框处理图像上传,尽管我不介意在写面板顶部有一个简单的“上传图像”的自定义元框。
最后,我想看一个类似的幻灯片:http://www.nytimes.com/slideshow/2010/08/10/science/20100810angier-1.html. 我希望我的也能够有一个视频作为幻灯片中的内容,而不是图片。我需要一个直观且易于使用的管理面板,供我的作者使用(他们不太懂技术,使用html和/或短代码也不可靠)。为了防止示例中不清楚,每张幻灯片都应该生成一个新的页面视图。
Drag\'n\'Drop重新排序不是一个高优先级,但它会很酷。我发现一个插件可以很好地处理这个问题:SlideDeck. 不幸的是,这个插件不适合我的需要,但他们处理幻灯片排序的方式非常灵活。侧边栏中有一个单独的元框,可以将幻灯片按自己喜欢的顺序拖动。这也是您添加幻灯片的方式,单击“添加幻灯片”按钮,将另一个幻灯片元盒添加到写入面板。以下是屏幕截图:
你也可以看到more screenshots of it in action in the wordpress repository.
Here is all my code:
设置我的幻灯片帖子类型和幻灯片分页的功能:http://loak.pastebin.com/g63Gf186源代码DeluxeBloggingTips.com (DBT),我的元数据库基于:http://loak.pastebin.com/u9YTQrxf
我修改了DBT代码的版本,以提供相同元盒的增量版本:http://loak.pastebin.com/WtxGdPrN
DBT代码的修改版本Chris Burbridge 创建以允许多个TinyMCE实例:http://loak.pastebin.com/Mqb3pKhx<有了这段代码,TinyMCEs就可以工作了
我对Burbridge代码的修改,尝试将我的增量和一个字段合并在一起,该字段允许您从帖子附带的所有图像的下拉列表中选择图像:http://loak.pastebin.com/xSuenJTK在这次尝试中,TinyMCE被破坏,下拉列表不起作用
这可能无关紧要,但如果您想知道,下面是我用来从自定义贴子元中提取嵌入代码、调整其大小并将其插入贴子的代码:http://loak.pastebin.com/n7pAzEAw
This is an edited version of the original question to reflect the current status of the project and answers the questions posted in the comments. Thanks to Chris_O for putting the bounty on this. Also, thanks to Rarst and Justin for helping me out with a lot of this in the ThemeHybrid.com forum. I have spent hours and hours on this and am stuck (I spent a couple hours alone on this Question). Any help would be greatly appreciated.