Функция get_attached_file()
в WordPress позволяет получить полный путь к прикреплённому файлу на основе его ID. Это удобно, когда необходимо работать с файлами, загруженными через медиабиблиотеку. Давайте рассмотрим эту функцию подробнее, а также приведем несколько примеров её использования.
get_attached_file( int $attachment_id, bool $unfiltered = false ): string|false
Описание
Функция извлекает путь к файлу, прикреплённому к определённому посту (в данном случае, к медиа-вложению). По умолчанию путь проходит через фильтр get_attached_file
, но если передать true
в качестве второго параметра $unfiltered
, функция вернёт путь без фильтрации.
Функция работает, извлекая значение мета-поля _wp_attached_file
поста. Это удобно, поскольку позволяет избежать ручного поиска имени мета-поля и предоставляет механизм для фильтрации имени прикреплённого файла.
Параметры
- $attachment_id (int, обязательный): ID вложения, для которого нужно получить путь.
- $unfiltered (bool, необязательный): Указывает, следует ли пропустить фильтр
get_attached_file
. По умолчаниюfalse
.
Возврат
- Возвращает
string|false
: Путь к прикреплённому файлу илиfalse
, если получить путь не удалось.
Пример 1: Получение полного пути к файлу вложения
$attach_id = 5; // Замените 5 на ваш ID вложения
$attached_path = get_attached_file($attach_id);
// Выводит полный путь к файлу
echo $attached_path;
// Пример вывода: /home/www/example.com/wp-content/uploads/2014/11/file_name.png
Пример 2: Получение только имени файла
$attach_id = 123; // Замените 123 на ваш ID вложения
$attached_path = get_attached_file($attach_id);
$filename = basename($attached_path); // Получаем только имя файла
echo $filename;
// Пример вывода: file_name.png
Примечания
- Для получения URL-адреса файла вложения вместо его пути используйте функцию
wp_get_attachment_url()
. - Функция
get_attached_file()
работает на основе функцииget_post_meta()
, и служит основой для других функций, таких какwp_maybe_generate_attachment_metadata()
иwp_get_original_image_path()
.
Заключение
Функция get_attached_file()
является мощным инструментом для работы с медиафайлами в WordPress, позволяя легко получать пути к файлам, прикреплённым к постам. Она предоставляет простоту использования и гибкость, необходимые для эффективной работы с загруженными файлами.