• ДОБРО ПОЖАЛОВАТЬ В КЛУБ ПО WORDPRESS

    Мы активно растущий клуб по WordPress и нам нужна помощь каждого человека, в том числе и Ваша! Не стесняйтесь и станьте частью большого сообщества.
    Мы делимся новостями, отытом и полезными советами! Пройдите простую регистрацию, чтобы пользоваться всеми возможностями нашего клуба.

    Присоединяйтесь к нам, вам обязательно понравится - Присоединится

Вопрос Кросспостинг публикации из сообщества Вконтакте в запись Wordpress. Проблема с изображениями в 2022 году

Galivut

НОВИЧОК

Galivut

НОВИЧОК
Сообщения
1
Добрый день.
Помогите, пожалуйста.
Пишу PHP-скрипт, чтобы на сайте Wordpress появлялась запись при появлении новой публикации в моем сообществе Вконтакте.
Получаю запрос через VK API, вытаскиваю содержимое с помощью file_get_contents('php://input')
но получаемая строка url изображения имеет следующией вид:
Для просмотра ссылки Войди или ЗарегистрируйсяИ когда я делаю $tmp_file = download_url($post_image);
то временный файл изображения вроде не создается. И после этого если делать $att_id = media_handle_sideload для $tmp_file, то $att_id получает значение "Извините, вам не разрешено загрузить этот тип файла".
Подозреваю что это из-за того, что при $tmp_file = download_url($post_image) у меня url не чисто файл с расширением изображения (.jpg), а сзади приписана еще куча всего.
Но если url изображения обрезать до:
Для просмотра ссылки Войди или Зарегистрируйсято изображение не открывается вообще

Вот кусок кода, касающийся изображений полностью:
PHP:
case 'wall_post_new';
    $post_text = $data->object->text;
    foreach ($data->object->attachments as $key => $value) {
        if ($value->type == 'photo'){
            $siz = $value->photo->sizes[3];
            $post_images[] = $siz->url;
        }
    }
    foreach ($post_images as $key => $value) {
        $tmp_file = download_url($value);
        //загружаем временный $tmp_file-файл в медиатеку Wordpress
        $att_id = media_handle_sideload(array(
            'name' => basename($value), // имя файла берем из URL-а
            'tmp_name' => $tmp_file // путь к временному файлу
        ), 0);
    }
В итоге запись создается, текст на месте, а вместо картинок в редакторе белые квадраты, а во фронте нету ничего.
Раньше, до одного из обновлений VK API адрес картинки был нормальны, заканчивался на .jpg и все загружалось и работало.
Подскажите, как правильно вставить изображение по такой ссылке в запись Wordpress с помощью PHP?
Может как-то нужно предварительно обработать url, чтобы картинка была загружена, или делать это другими функциями?
 

Топ поддержки


Сверху