ثبت‌نام ورود

افزودن دسته بندی به پست تایپ سفارشی وردپرس

افزودن دسته بندی به پست تایپ سفارشی وردپرس
افزودن دسته بندی به پست تایپ سفارشی وردپرس

همان‌طور که در قبل هم برای شما توضیح داده‌ایم، پست تایپ‌های سفارشی وردپرس یکی از قابلیت‌های مفید وردپرس هستند؛ که سبب شده‌اند وردپرس از یک سیستم وبلاگ دهی به یک سیستم مدیریت محتوای قوی تبدیل شود. توسط پست تایپ شما این امکان را دارید که محتوای سایت خود را سفارشی و خاص کنید.

درواقع شما توسط دنیای وسیع وردپرس امکانات فوق‌العاده‌ای در اختیارتان قرار می‌گیرد. شما می‌توانید از قابلیت‌ها نهایت استفاده را ببرید. که ایجاد دسته‌بندی در پست‌ها می‌تواند یکی از این قابلیت‌ها باشد. شما این امکان را می‌توانید توسط خود وردپرس انجام دهید.

افزودن دسته بندی به پست تایپ سفارشی وردپرس

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

حتماً به این نکته توجه داشته باشید که دسته‌بندی به‌صورت پیش‌فرض در وردپرس وجود ندارد؛ و شما باید خودتان با داشتن دانش کد نویسی این کار را انجام دهید. به‌این‌ترتیب شما قادر هستید دسته‌بندی‌های دلخواه خود را برای پست تایپ‌های خود ایجاد کنید.

شما در ابتدا باید کد نویسی برای ایجاد پست تایپ سفارشی در وردپرس را در قالب سایتتان اضافه کرده باشید. حالا که اضافه شد باید کد زیر را به args پست تایپ اضافه کنید:

'taxonomies'  => array( 'category' ),

یعنی کد نهایی باید به شکل زیر باشد:

/*
* Creating a function to create our CPT
*/

function custom_post_type() {

// Set UI labels for Custom Post Type
	$labels = array(
		'name'                => _x( 'Movies', 'Post Type General Name', 'twentythirteen' ),
		'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'twentythirteen' ),
		'menu_name'           => __( 'Movies', 'twentythirteen' ),
		'parent_item_colon'   => __( 'Parent Movie', 'twentythirteen' ),
		'all_items'           => __( 'All Movies', 'twentythirteen' ),
		'view_item'           => __( 'View Movie', 'twentythirteen' ),
		'add_new_item'        => __( 'Add New Movie', 'twentythirteen' ),
		'add_new'             => __( 'Add New', 'twentythirteen' ),
		'edit_item'           => __( 'Edit Movie', 'twentythirteen' ),
		'update_item'         => __( 'Update Movie', 'twentythirteen' ),
		'search_items'        => __( 'Search Movie', 'twentythirteen' ),
		'not_found'           => __( 'Not Found', 'twentythirteen' ),
		'not_found_in_trash'  => __( 'Not found in Trash', 'twentythirteen' ),
	);
	
// Set other options for Custom Post Type
	
	$args = array(
		'label'               => __( 'movies', 'twentythirteen' ),
		'description'         => __( 'Movie news and reviews', 'twentythirteen' ),
		'labels'              => $labels,
		// Features this CPT supports in Post Editor
		'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
		// You can associate this CPT with a taxonomy or custom taxonomy. 
		'taxonomies'          => array( 'genres' ),
		/* A hierarchical CPT is like Pages and can have
		* Parent and child items. A non-hierarchical CPT
		* is like Posts.
		*/	
		'hierarchical'        => false,
		'public'              => true,
		'show_ui'             => true,
		'show_in_menu'        => true,
		'show_in_nav_menus'   => true,
		'show_in_admin_bar'   => true,
		'menu_position'       => 5,
		'can_export'          => true,
		'has_archive'         => true,
		'exclude_from_search' => false,
		'publicly_queryable'  => true,
		'capability_type'     => 'page',
'taxonomies' => array( 'category' ),
	);
	
	// Registering your Custom Post Type
	register_post_type( 'movies', $args );

}

/* Hook into the 'init' action so that the function
* Containing our post type registration is not 
* unnecessarily executed. 
*/

add_action( 'init', 'custom_post_type', 0 );

پس در صورت استفاده از این قطعه کدی که در بالا برای شما قرار داده‌ایم دیگر نیاز به نگرانی بابت دسته‌بندی پست تایپ‌های سفارشی خود نداشته باشید؛ و با خیال راحت دسته‌بندی‌های موردنیاز خود را در سایت وردپرسی خود ایجاد کنید. با توضیحات ذکرشده در بالا متوجه شدید که این کار چقدر راحت است؛ و وردپرس به‌راحتی این امکان را برای کاربران خود فراهم کرده است.

نظر شما در این‌باره چیست؟

  1. U9570 ۲۲ مرداد ۱۳۹۹

    سلام استاد
    من دقیقا همین کدهای بالا رو قرار دادم و دقیقا طبق همین آموزش جلو رفتم ولی دسته بندی های post type با هم یکیه
    برچسب ها هم به همین صورت
    مشکل کجاس ؟

    • تیم پشتیبانی تیم پشتیبانی ۲۳ مرداد ۱۳۹۹

      با سلام و احترام
      حتما بخشی از کد رو اشتباه نوشتید. مجدد کدها رو بررسی کنید. کدهای ارائه شده دقیقا طبق داکیومنتها و استانداردهای وردپرس هست.

  2. U18571 ۲۹ تیر ۱۳۹۹

    سلام وقت بخیر
    من با استفاده از کد یک پست تایپ ایجاد کردم ولی دسته بندی ها با دسته بندی های پست تایپ نوشته ها یکسان هست
    میخواستم بدونم میتونید راهنمایی کنید که چطور دسته بندی پست تایپ جدید رو جدا کنم از دسته بندی نوشته ها؟
    باتشکر

    • رضا حسینی راد رضا حسینی راد ۲۹ تیر ۱۳۹۹

      سلام باید برای پست تایپ ها taxonomy ایجاد کنید. دقیقا مطابق همین آموزش

      • U18571 ۳۰ تیر ۱۳۹۹

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

        • رضا حسینی راد رضا حسینی راد ۳۱ تیر ۱۳۹۹

          سلام باید از wp query استفاده کنید. این مورد توی دوره صفر تا صد طراحی سایت توضیح داده شده.

  3. U6192 ۰۷ شهریور ۱۳۹۸

    سلام؛ چطوری میشه دسته بندی های سفارشی را به قالب اضافه کنیم تا در سایت نمایش بده، دقیقاً مثل category
    برای نمایش دسته ها از این کد استفاده میشه: و حالا بجای category از actor یا genre و هر دسته سفارشی ساخته شده استفاده کنم؟
    لازم به ذکر هست قبلا دسته هایی با نام genre، actor و … با افزونه Custom Post Type UI ساختم فقط موندم چجوری تو سایت نمایش بدم

  4. کاربر مهمان ۰۸ مرداد ۱۳۹۶
  5. کاربر مهمان ۱۶ تیر ۱۳۹۶

    سلام اگه بخوایم به پست تایپ تنظیمات قالب رو که در ویرایشگر متن وجود داره(مثل حذف کردن سایدبار ها در یک پست) اضافه کنیم باید چیکار کنیم؟

  6. کاربر مهمان ۰۲ آبان ۱۳۹۵

    سلام
    باتشکر از مطالب  مفید و متن روان و قابل فهمتون .
    میخواستم بدونم چه طور میتونبم به این پست سفارشیمون فیلد های دلخواهمون رو اضافه کنیم؟
    باسپاس