自动将行添加到转发器字段

Automatically add rows to repeater field

我有超过 15 个不同的文件夹和它们自己的 .pdf 文件,我需要自动化我的过程,因为我有超过 400 个 pdf。

所以我的架构是这样的: 首先,我有灵活的内容视图来添加文件夹名称,然后我在转发器字段中添加了我的文件名和文件。

结构如下:

有什么方法可以使这个过程自动化吗?就像将文件放在我服务器的文件夹中,然后 运行 一些脚本来添加转发器字段行?这样我就不必一一添加了。

看看这个 acf 函数 (docs)。您可以读取文件夹中的文件并遍历每个文件以添加包含数据的行。

假设您的文件夹中的文件有一个数组 $file:

$files = array(
  array(
    'name' => 'file1.pdf',
    'path' => '/var/www/wp/uploads/file1.pdf'
  ),
  array(
    'name' => 'file2.pdf',
    'path' => '/var/www/wp/uploads/file2.pdf'
  )
);

像这样:

<?php
  foreach( $file as $f ) {

    $data = array(
      'name' => $f['name'],
      'path' => $f['path']
    );

    add_row('files', $data);

  }
?>

将为 $files 数组中的每个文件添加一行数据(必须与您的 ACF 字段 ID 匹配)"name" 和 "path"。

要获取文件夹中的所有文件,您可以使用 php scandir() 函数。 (docs)