【问题标题】:How to create ACF PRO fields programmatically using OOP?如何使用 OOP 以编程方式创建 ACF PRO 字段?
【发布时间】:2018-02-12 09:22:13
【问题描述】:

我喜欢 ACF PRO。这是非常好的和强大的 WP 插件。但是……

我阅读了the documentations ACF PRO,但该方法不是面向对象编程的,而且看起来有点多行冗余(我的意思是使用它不方便)。

还有其他方法可以创建 ACF PRO 字段吗?也许是一些好的 3-rd 方 OOP 包装库?

【问题讨论】:

  • 您尝试过自己制作吗?定义“不方便”。 ACF 提供了函数/方法和一个非常非常全面的可视化界面,所以我不确定您的这个问题是什么意思。
  • @ggdx 我没有说 ACF PRO 不好。我的问题不是关于“视觉界面”,这真的很好。我希望能找到答案,稍后会告诉你。

标签: php wordpress oop advanced-custom-fields acfpro


【解决方案1】:

所以,我找到并尝试使用this ACF Builder

它只是 ACF 配置生成器,但看起来不错。我可以以编程方式定义和创建一个新的字段组。重要说明,结果代码简短易读,我们可以重用它。它比默认方法更短:

<code>
$banner = new StoutLogic\AcfBuilder\FieldsBuilder('banner');
$banner
    ->addText('title')
    ->addWysiwyg('content')
    ->addImage('background_image')
    ->setLocation('post_type', '==', 'page')
        ->or('post_type', '==', 'post');

add_action('acf/init', function() use ($banner) {
    acf_add_local_field_group($banner->build());
});

【讨论】:

    【解决方案2】:

    如果您想使用 OOP 字段创建,您可以使用另一个库而不是 ACF Pro。我可以向您推荐Carbon Fields。字段类型、位置等相同。还有芦苇this article。您可以找到相同的元字段 PHP 工具列表。

    您可以通过 PHP 和 OOP 创建自己的类以使用 ACF Pro。

    【讨论】:

    • 谢谢,我会查看并了解您的链接,但我的意思是 ACF PRO。
    【解决方案3】:

    不久前,我为这种情况创建了ACF Code Helper

    优势,与直接使用 ACF 函数相比

    • 帮助器负责处理字段键,这不仅使语法更短,而且不需要为条件逻辑进行大量复制粘贴。
    • 没有那么多开销,因为大部分代码(字段)的语法遵循 ACF,因此您可以使用 ACF 文档而不是额外的 wiki。

    缺点

    • 虽然语法有所缩短,但仍主要基于数组。
    • 您需要激活一个额外的插件。如果您在主题中克隆助手并将其包含在内,则问题不大。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 2017-07-27
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多