2016-08-17 5 views
1

У меня было более 15 разных папок с их собственными .pdf-файлами, и мне нужно было бы автоматизировать мой процесс, так как я получил более 400 PDF-файлов.Автоматически добавлять строки в поле повторителя

Итак, моя схема идет следующим образом: Сначала у меня есть гибкий контент, чтобы добавить имя папки, а затем я получил поле ретранслятора, где я добавляю имя файла и файл.

структура выглядит следующим образом: folder structure

Есть ли способ автоматизировать этот процесс? Как положить файлы внутри папки на моем сервере, а затем запустить некоторый скрипт, чтобы добавить строки полей ретранслятора? Таким образом, мне не пришлось бы добавлять все по одному.

ответ

2

Взгляните на эту функцию acf (docs). Вы можете читать файлы в папке и прокручивать каждый файл, чтобы добавить строку с данными.

Допустим, у вас есть массив $ файл из файлов в папке:

$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); 

    } 
?> 

бы добавить строку с данными (должно быть соответствие с ACF идентификаторы полей) «имя» и «путь» для каждого файла в массиве $ files.

Чтобы получить все файлы в папке, вы можете использовать функцию php scandir(). (docs)

Смежные вопросы