اضافه‌کردن دسته‌بندی، تگ و دسته‌بندی سفارشی به بخش رسانه

نوشته شده توسط ۵ سال پیش

آیا شما هم از اینکه وردپرس اجازه‌ی دسته‌بندی تصاویر و فایل‌های ضمیمه‌شده را نمی‌دهد سخت ناامید هستید؟ تصور کنید که اینکار چقدر می‌تواند مفید واقع شود در صورتی که شما فایل‌هایی با پسوند مشخص را جداجدا داشته باشید یا حتی عکس‌هایی را که از مکان‌های مختلف گرفته‌اید را دسته‌بندی کنید!

در این آموزش من به شما نشان می‌دهم که چگونه این کار را انجام دهید، و حتی بهتر، در کمتر از ۱۰ دقیقه!

قدم نخست: اضافه‌کردن ذسته‌بندی به قسمت رسانه‌ها
کافی‌است کد زیر را به فایل function پوسته‌ی خود اضافه کنید:

function wptp_add_categories_to_attachments() {
        register_taxonomy_for_object_type( 'category', 'attachment' );
}
add_action( 'init' , 'wptp_add_categories_to_attachments' );

قدم دوم: اضافه‌کردن تگ به قسمت رسانه‌ها
کافی‌است کد زیر را به فایل function پوسته‌ی خود اضافه کنید:

// apply tags to attachments
function wptp_add_tags_to_attachments() {
        register_taxonomy_for_object_type( 'post_tag', 'attachment' );
}
add_action( 'init' , 'wptp_add_tags_to_attachments' );

قدم سوم: اضافه‌کردن دسته‌بندی سفارشی به بخش رسانه‌ها
خبر خوشحال‌کننده‌ای که برای شما داریم این است که شما می‌توانید دسته‌بندی‌های خود را سفارشی کنید! کافی‌است کد زیر را به فایل function پوسته‌ی خود اضافه کنید:

// register new taxonomy which applies to attachments
function wptp_add_location_taxonomy() {
        $labels = array(
                'name' => 'Locations',
                'singular_name' => 'Location',
                'search_items' => 'Search Locations',
                'all_items' => 'All Locations',
                'parent_item' => 'Parent Location',
                'parent_item_colon' => 'Parent Location:',
                'edit_item' => 'Edit Location',
                'update_item' => 'Update Location',
                'add_new_item' => 'Add New Location',
                'new_item_name' => 'New Location Name',
                'menu_name' => 'Location',
        );

        $args = array(
                'labels' => $labels,
                'hierarchical' => true,
                'query_var' => 'true',
                'rewrite' => 'true',
                'show_admin_column' => 'true',
        );

        register_taxonomy( 'location', 'attachment', $args );
}
add_action( 'init', 'wptp_add_location_taxonomy' );

اگر شما پست‌های سفارشی برای سایت خود ساخته‌اید برای اضافه کردن به آن‌ها نیز از تابع register_taxonomy() استفاده کنید، مانند:

register_taxonomy( 'location', array( 'attachment', 'post' ), $args );

// پایان آموزش

مرتضی گرانسایه