【问题标题】:Sync ACF fields across sites on WP multisite在 WP 多站点上跨站点同步 ACF 字段
【发布时间】:2017-12-22 21:35:11
【问题描述】:

我一直在寻找一种在 WordPress 多站点上跨站点同步 ACF 字段的方法。有 5 个站点具有单独的内容,但它们都使用相同的 ACF 字段。我宁愿避免在每个站点上手动创建和添加这些新字段。

有解决办法吗?

使用 WP 4.8 和 ACF Pro 5.5.1.4

【问题讨论】:

标签: wordpress advanced-custom-fields multisite


【解决方案1】:

由于您使用的是 ACF Pro,您可以使用“导出/导入”功能。

  1. 网络激活高级自定义字段
  2. 通过自定义字段菜单在主站点上创建字段组。
  3. 使用自定义字段->导出,选择所有字段组,导出到PHP
  4. 将 PHP 粘贴到您(子)主题的 functions.php 中
  5. 返回并删除主站点中的字段,以免重复。

您现在可以在网络范围内使用 ACF 字段。

【讨论】:

    【解决方案2】:

    我之前曾多次考虑过同样的事情,并得出结论,最简单的方法是使用一组 acf-field-name.php 文件创建一个 github 存储库,然后将这些存储库作为子模块带到您的每个项目。如果您将此 php 文件放在主题文件夹中的 acf 文件夹中,并像这样使用 functions.php 中的函数

        function getAcfFileNames()
        {
            return array(
                'acf-one',
                'acf-two',
                'acf-three',
            );
        }
    
        function add_php_acf_field_groups()
        {
            $fileNames = getAcfFileNames();
            foreach ($fileNames as $fileName) {
                include_once 'acf/' . $fileName . '.php';
            }
        }
    
        ;
        add_action('acf/init', 'add_php_acf_field_groups');
    

    这应该可以正常工作。如果您想在项目中编辑这些 acf.php 文件,您可以使用 -> https://github.com/BeAPI/ACF-PHP-Recovery 在本地恢复 php 文件并更新它。之后只需导出文件并将其提交到您的 ACF 存储库。

    不幸的是,我还没有找到更好的解决方案。

    【讨论】:

      【解决方案3】:

      Jesse Pearson 有一个很棒的 Gist,它会在管理员登录时自动同步所有 acf-json 文件:

      https://gist.github.com/jessepearson/a537b2f78556cd705947

      在 cmets to the gist 中,您还可以找到对代码的一些改进,请注意这些!

      为我节省了大量时间。

      【讨论】:

        【解决方案4】:

        只要将字段附加到模板名称而不是特定页面或帖子,就可以同步字段。

        https://www.advancedcustomfields.com/resources/synchronized-json/

        只需快速更改您的 function.php 文件即可。

        https://www.advancedcustomfields.com/resources/local-json/

        当我在本地完成工作并想更新生产主题时,我使用了导出的 PHP 代码方法。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-04-15
          • 2015-12-26
          • 2019-09-12
          • 1970-01-01
          • 1970-01-01
          • 2016-05-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多