در وردپرس ۳ نوع اندازه برای تصویر شاخص مشخص شده است اما در مواقعی به اندازه هایی بیشتر از این سه حالت نیازمندیم زیرا ممکن است این تصاویر در بخشی که مد نظر ماست یا زیاد بزرگ یا زیاد کوچک باشند بنابراین باید به صورت دستی اندازه های جدید تعریف کنیم و از ان استفاده کنیم با ما همراه باشید تا چگونگی انجام این کار را بررسی کنیم

۱- وارد داشبورد خود شوید و به مسیر نمایش > ویرایشگر > function.php بروید و کد زیر را در محل مربوطه ذخیره کنید

add_action( 'after_setup_theme', 'loosia_theme_setup' );
function loosia_theme_setup() {
  add_image_size( 'homethumb', 200, 200, true );
  add_image_size( 'archivethumb', 250, 250, true );
  add_image_size( 'sliders', 500, 500, true );
}
add_filter( 'image_size_names_choose', 'loosia_register_images' );
function loosia_register_images( $sizes ) {
    $custom_sizes = array(
        'homethumb' => 'Home Small Images',
        'archivethumb' => 'Archive Images',
        'sliders' => 'Slider Images'
    );
    return array_merge( $sizes, $custom_sizes );
}

۲- در کد بالا ۳ سایز مختلف با نام های homethumb و archivethumb و sliders ایجاد کردیم که میتوانید سایز های مورد نظر خود را وارد کنید

توجه داشته باشید بعد از سایز عکس ها true نوشته شده که نشان دهنده این است تصاویر شما بریده خواهند شد و کشیده نخواهند شد در صورتی که میخواهید تصاویر شما بریده نشود true را پاک کرده و جایش false بنویسید

۳- جهت استفاده از تصاویر با سایز های ایجادی از کد زیر استفاده میکنیم

<?php if ( has_post_thumbnail()) the_post_thumbnail('homethumb'); ?>

به جای homethumb میتوانید از archivethumb و sliders نیز استفاده کنید . توجه داشته باشید استفاده از تصاویر در سایز دلخواه شما برای پست های جدیدی است که منتشر میکنید و برای مطالبی که قبلا نشر داده اید تاثیری ندارد در صورتی که میخواهید برای تصاویر قدیمی که آپلود کردید این سایز ها را نیز اعمال کنید از کد زیر استفاده کنید

function regenerate_all_attachment_sizes() {
    $args = array( 'post_type' => 'attachment', 'numberposts' => 20, 'post_status' => null, 'post_parent' => null, 'post_mime_type' => 'image' ); 
    $attachments = get_posts( $args );
    if ($attachments) {
        foreach ( $attachments as $post ) {
            $file = get_attached_file( $post->ID );
            wp_update_attachment_metadata( $post->ID, wp_generate_attachment_metadata( $post->ID, $file ) );
        }
    }       
}

امیدوارم مورد استفاده شما قرار گرفته باشه 🙂 موفق باشید

  کد وردپرس مطالب بعدی و قبلی در وردپرس