stoutlogic/acf-migrations

对 ACF 字段进行字段名和键更改,而不会丢失内容。

dev-master 2017-05-15 20:33 UTC

This package is auto-updated.

Last update: 2024-09-06 16:23:45 UTC


README

Build Status Scrutinizer Code Quality

警告:目前不适用于生产使用。

允许您重构高级自定义字段的字段名和字段键,而不会丢失现有字段中的内容。

您是否讨厌重命名字段时丢失与该字段相关联的所有内容?这会严重影响重构工作,并迫使您第一次就要做对。

ACF Migrations 库为您提供更改字段名和键的工具,然后为您更新数据库。

您编写的 ACF Migrations 代码可以存在于单个使用脚本中,也可以存在于您维护的定制主题或插件升级脚本中,甚至可以存在于完整的迁移库中(即将推出)。

注意:这不会更改 ACF 内的字段名。这可以通过 UI、json 文件或您自己的 PHP 代码来完成。在那之后(或之前),将现有内容迁移到使用新的字段名和/或字段键。

简单示例

一个定制的 location 文章类型有一个 zip_code 字段。由于美国以外的扩展到加拿大,我们想将该字段重命名为 postal_code。当然,我们只需更改字段的标签来反映对管理员用户的更改,我们还想在我们的代码中更改它,以便不会在开发者之间产生混淆。

字段的名称是 zip_code,键是 field_zip_code。我们希望将其名称更改为 postal_code,键更改为 field_postal_code

$migrateField = new FieldMigration('field_zip_code');
$migrateField
    ->changeName('postal_code')
    ->changeKey('field_postal_code')
    ->migrate();

一旦调用 migrate,所有具有字段键 'field_zip_code' 的元数据实例(在文章、术语、用户、评论和选项页面上)都将更改。

安装

使用 composer 在您的基于 composer 的 WordPress 主题或插件中安装

composer require stoutlogic/acf-migrations

测试

要运行测试,您可以手动运行。集成测试将需要本地配置。请稍后提供说明。

composer run tests

要求

支持 PHP 5.6 及更高版本。