我正在开发一个自定义的单页网站&;对于客户端,我当前使用的是页面和;子页面(post type:page)使站点的各个部分按如下方式布局
Heading "Page"
Image "Page"
⌙ image 1
⌙ image 2
⌙ image 3
Contact "Page" (gravity forms)
Sponsor "Page"
⌙ sponsor 1
⌙ sponsor 2
⌙ sponsor 3
(其中
⌙
表示子页)
这是否有更好的方法来管理将出现在同一页面上的多个内容段?
最合适的回答,由SO网友:Luis Sanz 整理而成
出于以下原因,我不建议在章节中使用子页面:
章节子页面可能会被删除、设置为草稿以及许多其他错误使用很难控制用户对它们的输入没有简单的方法来处理布尔值或选项,例如“显示/隐藏此项”或“在此部分使用design 2”检索页面内容时,可能会干扰插件的更改the_content
挂钩要将此方法扩展到同一网站中的其他页面,而不将管理员的页面列表视图与无数子页面弄乱,是不容易的对于构建基于节的页面的任务,有很多不同的方法,最终可能没有一个正确的答案可以涵盖所有可能的情况。
我必须为这项任务使用许多不同的解决方案,例如:
Widgeted主页侧边栏,带有定制的小部件“Sections”自定义帖子类型,支持page-attributes
允许自定义订购用于打开和关闭部分的短代码一个单独的选项页内容生成器
但根据我的经验,在用户不是设计而是填写内容的情况下,在生产中效果更好的是metaboxes, 这恰好是WordPress为页面中的自定义内容提供的本机工具。用户发现他们比内容生成器更直观,而且他们的操作比其他任何解决方案都不容易出错。用法很简单:添加one 或as many 将元盒作为所需的部分。然后,在每个字段中,声明该特定部分中包含的可编辑内容的字段数。最后修改frontpage.php
或创建一个自定义模板reads and prints 那些元数据库内容。记住escape 他们
如果您的元数据库中需要一些动态性,如重新排序、重复字段、所见即所得编辑器等,请查看CMB2, 一个免费、成熟的开源库,允许您以非常简单的方式使用多个字段。您也可以选择Advanced Custom Fields, 一个插件,具有非常广泛的免费功能和一些高级功能,与CMB2不同的是,它提供了一个完全工作的前端。