Как загрузить фотографию в вордпрез через функцию?

Для загрузки фотографии в 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.