Для загрузки фотографии в WordPress через функцию вы можете использовать следующий код:
<?php // Загрузка фотографии function upload_photo($file) { $upload_dir = wp_upload_dir(); // Получение пути загрузки файла $target_dir = $upload_dir['path']; $target_file = $target_dir . '/' . basename($file['name']); $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // Проверка типа файла $allowed_types = array('jpg', 'jpeg', 'png', 'gif'); if(!in_array($imageFileType, $allowed_types)) { return false; } // Загрузка файла if(move_uploaded_file($file['tmp_name'], $target_file)) { return $upload_dir['url'] . '/' . basename($file['name']); } else { return false; } } // Использование функции загрузки фотографии $file = $_FILES['photo']; // photo - название поля формы, в котором передается файл $photo_url = upload_photo($file); if($photo_url) { // Фотография успешно загружена echo "Фотография успешно загружена. Ссылка на изображение: " . $photo_url; } else { // Ошибка загрузки фотографии echo "Ошибка загрузки фотографии."; } ?>
Вы можете разместить этот код в файле функций вашей темы (например, functions.php) или в плагине. Затем вы можете вызвать эту функцию из вашего кода, передав файл фотографии в качестве параметра:
// Поле формы для загрузки фотографии <input type="file" name="photo" /> // Обработчик формы if(isset($_FILES['photo'])) { $file = $_FILES['photo']; $photo_url = upload_photo($file); if($photo_url) { // Фотография успешно загружена echo "Фотография успешно загружена. Ссылка на изображение: " . $photo_url; } else { // Ошибка загрузки фотографии echo "Ошибка загрузки фотографии."; } }
Обратите внимание, что код проверяет типы файлов, разрешенных для загрузки (jpg, jpeg, png, gif). Вы можете изменить массив allowed_types
в функции upload_photo
в соответствии с вашими требованиями. Также убедитесь, что у вас правильно настроены разрешения для папки загрузки файлов в вашей установке WordPress.