WordPress как на ладони
Мощный и не дорогой хостинг от Fornex.com Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

[РЕШЕНО] Сервис сокращения ссылок — Продолжение

Создал на вордпрессе сервис сокращения ссылок (Вот предыстория)

Как спарсить имя я нашел.

Вопрос:
Как спарсить картинку и установить её на пост в качестве миниатюры?

Решение:

// когда мы во фронте
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 = $matches_og_image_url; //  <- спарсить из нужного тега нужный урл 
$post_id = $post_id;
$desc = "Logo from original page.";

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

if( is_wp_error($img_tag) ){
	echo $img_tag->get_error_message();
}
else {
	global $post;
	// проверка на наличие миниатюры посте
	if( has_post_thumbnail( $post_id) )
		return;

	$attached_image = get_children( array( 'post_parent'=> $post_id, 'post_type'=>'attachment', 'post_mime_type'=>'image', 'numberposts'=>1 ) );

	// делаем условие проверку на наличие картинки
	if( $attached_image ){
		foreach ($attached_image as $attachment_id => $attachment)
			set_post_thumbnail( $post_id, $attachment_id);
	}               
}
0
kolshix
455
21 день назад

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация