我认为这个问题很常见,但我找不到最终解决方案。
假设我有一个帖子类型" event",将某个帖子链接到某个人(演讲者)的最佳方法是什么。
最后我需要一个所有发言人的名单(按字母顺序排列,根据他们的姓氏),当然还有发言人信息和帖子列表。
发言人需要4个数据字段:firstname,lastname,short-bio,weblink。
对于单个事件,speker的数量可能是1个多。
据我所知,有三种不同的方法可以做到这一点:
自定义字段
所有需要的自定义字段都直接添加到cpt"事件"例如,使用acf转发器字段。
这些字段是空白的文本字段,但是jquery ui脚本提供了一个自动完成功能,其中包含数据库中的所有值(所有firstnames,lastnames ......) 我的perspektive的缺点:不容易查询(特别是当我有一个以上的扬声器)。关于某个发言者需要为每个事件提供的信息。 优点:有关特定事件的所有信息(包括有关发言人的信息)均可在后端的一页上进行编辑。
帖子类型:"演讲者"
第二个名为"发言者"将存储关于一个扬声器的所有信息。事件可以与一个或多个发言者相关,例如通过使用acf关系字段。 缺点:有关扬声器的所有信息都要在后端的另一页上进行编辑。用户首先创建一个扬声器,然后将该扬声器连接到事件。 - 问题:是否有可能在另一个帖子类型的后端包含第二个posttype?例如,通过提供在poststype"事件"?后端内创建新发言者的可能性。 优点:易于查询,易于将事件链接到多个发言人
自定义分类
我从未尝试过这个但是如果可能的话,也许这是一个好主意。 用户可以选择,添加和编辑提供所有信息(名称,名字,生物等)的自定义分类。 是否可以直接在编辑帖子视图中为自定义分类使用多个字段?
也许对这个问题有最终答案?
答案 0 :(得分:0)
我不认为他们是最好的方法,这取决于您的需求和您的信息架构。
例如,我可能有一个所有发言人的存档页面,因此我可以列出所有发言人,我可以通过网址http://mysite/speaker/ucheng显示发言人的详细信息。在这种情况下,我更喜欢post类型的解决方案。
Another Solution: Speaker User Role
如果您允许发言人编辑他们的个人资料或上传活动的某些材料,该怎么办?如果要执行此操作,请使用默认的WordPress用户并为其创建扬声器角色,以便您可以执行某些访问控制。此外,我可以在前端列出扬声器,并使用ACF将用户链接到事件。
对我来说,我更喜欢用户角色解决方案。