تنظیم تصویر شاخص نوشتهها از آدرس خارجی
اگر جزء آن دسته از افرادی هستید که از توابع wp_insert_post برای ایجاد خودکار نوشته یا نوع نوشته دلخواه در وردپرس استفاده میکنید، این آموزش میتواند به شما در بارگذاری و تنظیم تصویر شاخص نوشتهها از آدرس خارجی کمک کند.
به منظور تنظیم تصویر شاخص نوشتهها از یک آدرس خارجی در حالت عادی بدین صورت است که شما تصویر را از آدرس خارجی بارگیری و سپس به صورت دستی در رسانه طراحی سایت وردپرس بارگذاری نمایید. این کار با استفاده از تابع زیر به صورت خودکار امکانپذیر است. برای اینکار کافی است تابع زیر را در فایل functions.php قرار دهید و سپس آن را در جایی که میخواهید فراخوانی کنید.
function Generate_Featured_Image( $image_url, $post_id )
{
$upload_dir = wp_upload_dir();
$image_data = file_get_contents($image_url);
$filename = basename($image_url);
if(wp_mkdir_p($upload_dir['path']))
$file = $upload_dir['path'] . '/' . $filename;
else
$file = $upload_dir['basedir'] . '/' . $filename;
file_put_contents($file, $image_data);
$wp_filetype = wp_check_filetype($filename, null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => sanitize_file_name($filename),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $file, $post_id );
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attach_data = wp_generate_attachment_metadata( $attach_id, $file );
$res1= wp_update_attachment_metadata( $attach_id, $attach_data );
$res2= set_post_thumbnail( $post_id, $attach_id );
}
نحوه عملکرد تابع بالا بدین صورت است که آدرس تصویر (فایلی که در خارج از وردپرس وجود دارد) و شناسه نوشته را به عنوان آرگومان ورودی دریافت میکند. سپس اطلاعات تصویر نظیر نام، حجم و… را براساس آدرس تصویر آنالیز میکند و در صورتی که مشکلی وجود نداشته باشد، تصویر را به طور خودکار در رسانه وردپرس تنظیم میکند. در انتها، با استفاده از set_post_thumbnail تصویر مورد نظر را به عنوان تصویر شاخص برای نوشته مورد نظر، تنظیم مینماید.
Comments
Post a Comment