这是一个非常开放的问题。我不确定我是否完全理解你的拍摄目的。你可以用很多方法来解决这个问题。无论您选择哪种方式,最终都将取决于您权衡每种方式的利弊,以及您的客户希望如何控制布局。我认为你的情况有三个可行的解决方案。
Apply conditional logic to the fields themselves:
ACF允许在其字段上使用条件逻辑。它允许您创建多组字段,这些字段将根据其他字段的值显示。只需创建控制其他字段集可见性的字段。您可以通过从编辑页面展开自定义字段并选中字段底部附近的“启用条件逻辑”框来查看此内容。这样,内容管理器将能够在起草帖子/页面时,基于一系列单选按钮或复选框(控制条件逻辑)来“创建”帖子/页面的布局。
Apply logic rules to the field groups:
您还可以将字段组应用于帖子模板、类别、自定义分类等(“规则:”位于编辑字段组页面底部附近)。如果你想在客户创建新帖子/页面时创建不同的字段组供他们选择,你可以让他们将帖子/页面添加到一个类别或自定义分类法中——这样会为帖子/页面调出正确的字段组。这将允许您使用ACF创建一组预定义的变体。内容管理器只会选择要使用的布局(不如将逻辑应用到字段本身)。
Use Flexible fields:
我真的很喜欢弹性场地。如果你有分机的话,这将是我的首选方法。在内容管理/灵活性方面,这基本上是前两种方法的组合。您可以为content manager创建不太灵活的字段集(例如,制作3个不同的选项,每个选项都包含一些字段),也可以为每种类型的字段创建一个灵活的字段(这将允许content manager根据自己的喜好“构建”和排列字段及其顺序)。此外,灵活字段非常直观,可能是内容经理最容易掌握的解决方案。您可以在ACF网站上找到显示灵活字段的代码。这一切都很简单。
希望这有帮助!
edit: 我会排除你的第一个解决方案。查询越少越好。当功能直接内置到插件中时,无需使用额外的请求来阻塞服务器。