fryiee / acf-helper
用于程序化地向您的Wordpress站点添加ACF字段的composer包。
Requires (Dev)
- phpunit/phpunit: 4.0.*
README
用于程序化地向您的Wordpress站点添加ACF字段的composer包。
为什么要使用这个包?
Elliott Condon的Advanced Custom Fields是增强Wordpress网站上内容的出色插件。然而,通过程序添加字段是一个繁琐的过程,需要编写多个嵌套数组,或者首先在插件中创建字段组,然后导出代码(最终结果仍然是一个庞大的数组网络)。
此包旨在通过简化字段组注册和字段的程序化过程来减少字段样板代码,从而减少稀释您的主题代码的数量。
要求
- Composer
- Advanced Custom Fields Wordress插件
- 如果您计划使用高级字段类型,请使用Advanced Custom Fields Pro或字段类型插件。
安装
您可以通过使用composer require fryiee/acf-repeater:0.1.*
将包添加到项目中,或者将fryiee/acf-repeater:0.1.*
直接添加到composer.json中。
将包添加到您的functions.php或类似主题文件(例如TimberSite类文件)中,通过在文件顶部添加use Fryiee\ACF\Helper as ACFHelper
。
基本示例
$fieldGroup = ACFHelper::createFieldGroup('Example Field Group', '_a_suffix_to_the_group_key');
$fieldGroup->addLocation('post_type', '==', 'post');
$field = ACFHelper::createField('text', 'Example Field', ['required' => 1], '_a_suffix_to_the_field_key');
$fieldGroup->addField($field);
ACFHelper::enqueue($fieldGroup);
类与方法
助手
\Fryiee\ACF\Helper
包是Helper包的主要入口点。您将在这里生成所有字段组和字段,以及排入队列。
Helper::createFieldGroup($title, $keySuffix = '', $args = []);
此静态方法创建一个\Fryiee\ACF\FieldGroup
实例。它接受字段组的标题作为参数,可选的关键后缀和可选的额外参数。默认情况下,助手类将字段组的键设置为group_slugified_title
,如果它不为空,则添加关键后缀。
参数$arg可以接受任何现有字段的参数。请参阅此处:https://www.advancedcustomfields.com/resources/register-fields-via-php/
提醒:更改字段组的标题或键后缀将意味着除非在数据库中更改,否则现有数据将不再连接。
Helper::createField($type, $label, $args, $keySuffix = '')
此静态方法创建一个\Fryiee\ACF\Field
实例。它接受字段的类型、标签、作为数组的任何额外参数以及可选的关键后缀。默认情况下,助手类将字段的名称设置为标签的slug,将键设置为field_slugified_label
,如果它不为空,则添加关键后缀。这可以通过在$arg数组中提供'name'
属性来覆盖。
待定:字段类型slugs列表。
提醒:更改字段的标签或键后缀将意味着除非在数据库中更改,否则现有数据将不再连接。
参数$arg可以接受任何现有字段的参数。请参阅此处:https://www.advancedcustomfields.com/resources/register-fields-via-php/
待定:每个字段类型的参数列表。
Helper::enqueue($fieldGroup)
此静态方法使用ACF的内置register_field_group()
函数将字段组排入队列,以兼容ACF和ACF PRO。它接受一个\Fryiee\ACF\FieldGroup
实例作为参数。
FieldGroup
$fieldGroup->addLocation($param, $operator, $value)
此方法将位置参数添加到字段组中。
待定:添加对多个位置的支持
$fieldGroup->addField($field)
此方法向字段组中添加一个字段。它接受一个 \Fryiee\ACF\Field
实例作为参数。
$fieldGroup->generate()
待定
字段
$field->generate()
待定