اضافه کردن طبقه بندی جدید در وردپرس

اضافه کردن طبقه بندی جدید در وردپرس

Taxonomy در معنا یعنی "طبقه بندی"، در وردپرس امکان دسته بندی مطالب وجود دارد. بطور مثال شما یک پست می خواهید در سایت ایجاد کنید از نوع محصول ( در مثال یعنی یک Custom Post Type دارید به نام Product، برای یادگیری بیشتری پست قبلی را بخوانید ) که دارای دسته بندی است. دسته ی محصولات که شامل TV، Laptop و PC است.

Wordpress Post Category

برای ایجاد یک دسته بندی جدید نیاز هست از قابلیت Custom Taxonomy استفاده کنیم. برای این کار نیاز هست در فایل functions.php یک تابع اضافه کنید و آن را در وردپرس Hook کنید. به شکل زیر :

 

// Register Custom Taxonomy
function custom_taxonomy()  {

	$labels = array(
		'name'                       => _x( 'Genres', 'Taxonomy General Name', 'text_domain' ), //  نام عمومی مورد استفاده برای دسته بندی 
		'singular_name'              => _x( 'Genre', 'Taxonomy Singular Name', 'text_domain' ), // نام مفرد مورد استفاده برای این دسته بندی
		'menu_name'                  => __( 'Genre', 'text_domain' ), //نام مورد استفاده در 
		'all_items'                  => __( 'All Genres', 'text_domain' ), //  نام مورد استفاده برای دکمه نمایش تمامی دسته بندی ، بطور مثال اگر نام دسته بندی "ژانر" باشد این کلمه بهتر است "تمامی ژانرها" باشد.
		'parent_item'                => __( 'Parent Genre', 'text_domain' ), // نام دسته بندی والد برای پست ملحق شده به دسته ی خاص
		'parent_item_colon'          => __( 'Parent Genre:', 'text_domain' ), // نام دسته بندی والد در عنوان نام آن در جدول نمایش پست ها
		'new_item_name'              => __( 'New Genre Name', 'text_domain' ), // عنوان مورد استفاده برای نمایش دکمه ی یک دسته بندی جدید
		'add_new_item'               => __( 'Add New Genre', 'text_domain' ), //  عنوان مورد استفاده برای نمایش دکمه ی یک دسته بندی جدید که در بالای جدول نمایش داده میشود.
		'edit_item'                  => __( 'Edit Genre', 'text_domain' ), // عنوان مورد استفاده برای دکمه ی ویرایش دسته
		'update_item'                => __( 'Update Genre', 'text_domain' ), // عنوان مورد استفاده برای دکمه ی بروزرسانی دسته
		'separate_items_with_commas' => __( 'Separate genres with commas', 'text_domain' ), // متن مورد استفاده برای این عنوان که با گذاشتن کاما در بین دسته ها میتوان دسته های جدید را در پست مورد نظر ساخت.  
		'search_items'               => __( 'Search genres', 'text_domain' ), // عنوان مورد استفاده برای دکمه ی جستجو در دسته ها
		'add_or_remove_items'        => __( 'Add or remove genres', 'text_domain' ), // عنوان مورد استفاده برای اضافه یا پاک کردن دسته ها
		'choose_from_most_used'      => __( 'Choose from the most used genres', 'text_domain' ), // عنوان مورد استفاده برای قابلیتی که وردپرس برای دسته بندی گذاشته به این معنا که میتوان از بیشترین دسته مورد استفاده ، دسته ی پست را انتخاب کرد. 
	);
	$args = array(
		'labels'                     => $labels,
		'hierarchical'               => true, // اضافه کردن قابلیت فرزند و والد برای دسته هت 
		'public'                     => true,
		'show_ui'                    => true, // تولید یک رابط کابری برای مدیریت دسته بندی
		'show_admin_column'          => true, // راه اندازی قابلیت اضافه نمودن دسته ی جدید هنگام اضافه کردن پست جدید 
		'show_in_nav_menus'          => true, //  اضافه کردن قابلیت مدیریت دسته بندی در navigation
		'show_tagcloud'              => true, // اضافه کردن قابلیت Tag Cloud
	);
	register_taxonomy( 'genre', 'post', $args );

 
}

// Hook into the 'init' action
add_action( 'init', 'custom_taxonomy', 0 );

 

 

در نهایت بعد از اضافه کردن این کد در functions.php قالب، در داشبورد وردپرس  Custom Taxonomy جدید را میبینید.

 

Wordpress Custom Taxnomoy

 

 

 

برای اضافه نمودن این دسته بندی در یک Custom Post Type جدید جای post از Post Type Keyای که  برای Custom Post Type قرار دادید استفاده کنید. بطور مثال اگر برای پست های product استفاده کنید نیاز هست کد زیر را جایگزین کنید.

register_taxonomy( 'genre', 'products', $args ); 

در نهایت کاربر در محیط مدیریتی هنگام اضافه کردن پست جدید،  در وردپرس نمایه زیر را خواهد دید.

Wordpress Custom Taxonomy Add Post
 

Wordpress Custom Taxonomy New Genre

 


Wordpress Custom Taxonomy Genre Table

حالا برای نمایش لیست Taxonomy جدید باید از متد get_term_link  در وردپرس استفاده کنید. کد نمونه ی زیر دسته بندی با Custom Taxonomy Key تحت عنوان "genre" که بالا ساختیم را استفاده میکند.

 

 

 

<?php
    $taxonomy = 'genre'; // Custom Taxonomy Key
    $args1=array( 'include'=> array(12,30) ); // نمایش دو دسته با آی دی 12 و 30
    $terms = get_terms('stores',$args1 );
    echo '<ul>';
    foreach ($terms as $term) {
        $term_link = get_term_link( $term, 'stores' );
        if( is_wp_error( $term_link ) )
        echo '<li><a href="' . $term_link . '">' . $term->name . '</a></li>';
    }
    echo '</ul>';
?>

 

 

 

 

 

۰ ۲ دیدگاه

دیدگاه‌ها (۲)

تشکر. واقعا نیاز داشتم بهش.

امکان داره اینکارو برای سایت من انجام بدید می ترسم خرابکاری کنم؟ :(

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی