Как добавить картинку в медиатеку WP через php

  • Vadim Tsukanov
    Разработчик
  • Дата публикации
    28.12.2023
  • Категория
    Wordpress
как кодом загрузить изображение на сайт
Задача:Загрузить картинку в медиатеку WP через код

Не то, чтобы тяжело, однако просто оставлю этот сниппет тут, так как сталкиваемся с этим очень часто.


    require_once( ABSPATH . 'wp-admin/includes/image.php' );
    require_once( ABSPATH . 'wp-admin/includes/file.php' );
    require_once( ABSPATH . 'wp-admin/includes/media.php' );

    if(!empty($_FILES['avatar-photo']['name'])){

        $avatarImageId = media_handle_upload('avatar-photo', 0);
        carbon_set_user_meta(get_current_user_id(), 'avatar', $avatarImageId);
    }else{
        carbon_set_user_meta(get_current_user_id(), 'avatar', '');

    }

0 — ID поста, к которому будет прикреплен медиафайл. Если не нужно, чтобы файл был прикреплен к посту, то укажите в параметре 0.

Для загрузки изображения по URL используем следующий код:

// когда мы во фронте
require_once ABSPATH . 'wp-admin/includes/media.php';
require_once ABSPATH . 'wp-admin/includes/file.php';
require_once ABSPATH . 'wp-admin/includes/image.php';

$url = 'http://s.w.org/style/images/wp-header-logo.png';
$post_id = 3061;
$desc = "Логотип WordPress";

$img_tag = media_sideload_image( $url, $post_id, $desc );

if( is_wp_error($img_tag) ){
	echo $img_tag->get_error_message();
}
else {
	// добавлено 
}

 

Еще нет коммментариев. Будь первым!

Оформить заказ в Devstages