نحوه ایجاد طبقه بندیهای سفارشی در وردپرس
بسیاری از مردم فکر میکنند که وردپرس یک ابزار برای وبلاگ نویسی است، عمدتا به این دلیل که ویژگیهایی نظیر پست و دسته بندی و برچسب دارد. چیزی که اکثر مردم نمیدانند این است که تمام نوشتهها، دستهبندیها و برچسبها میتوانند با انواع پست سفارشی و طبقه بندیهای سفارشی جایگزین شوند. در این مقاله قصد داریم نحوه ایجاد طبقه بندیهای سفارشی در وردپرس و همچین نحوه نمایش طبقه بندیهای سفارشی در پوسته وردپرس را آموزش دهیم.
طبقه بندی چیست؟
طبقه بندی در وردپرس از آن چیزهایی است که مردن اکثرا از آن استفاده میکنند اما خود از استفاده آن آگاهی ندارند. طبقه بندی در وردپرس بعنوان راهی برای گروه بندی انواع نوشتهها باهم میباشد. وردپرس دو مورد طبقه بندی محبوب دارد که کاربران همیشه از آنها استفاده میکنند: دسته بندی و برچسب ( مقاله ما درمورد تفاوت برچسب و دسته بندی را مطالعه کنید) شما میتوانید جهت ایجاد گروههای سفارشی از طبقه بندی سفارشی استفاده کنید. برای مثال فرض کنید یک نوشته سفارشی به نام کتابها دارید. با اینکه میتوانید یک دسته نیز با همین عنوان ایجاد کنید، ممکن است نخواهید این دو را باهم ادغام کنید زیرا کاربردهای متفاوتی دارند.برای این نوشته سفارشی میتوانید یک طبقه سفارشی به نام تاپیک ایجاد کنید. در این تاپیک میتوانید عناصری مانند: ماجراجویی، رمان، غیرداستانی و … را اضافه کنید. این کار به شما و کاربرانتان این امکان را میدهد که کتابهایتان را طبق هر تاپیک مرتب سازی کنید. همچنین طبقه بندی میتواند سلسله مراتبی باشد( مانند: داستانی، غیرداستانی و کودکان). طبقههای بالا میتوانند هرکدام دارای زیر طبقه باشند مثلا طبقه داستانی میتواند زیر طبقات عاشقانه، پلیسی، جنایی و … را داشته باشد.
اکنون که درمورد مفهوم طبقه بندی صحبت کردیم بیاید به نحوه ایجاد آن نیز نگاهی بیندازیم. ما از دو روش برای ایجاد طبقه بندیهای سفارشی استفاده میکنیم، روش اول: استفاده از پلاگین که نیازی به کد نویسی ندارد، روش دوم: استفاده از کد برای کسانی که علاقهای به استفاده از پلاگین ندارند.
مقاله مرتبط: چطور یک افزونه خاص وردپرس را در نسخه موبایل غیرفعال کنیم؟
ایجاد طبقه بندی سفارشی- راه آسانتر
اولین کاری که باید انجام دهید نصب و فعالسازی افزونه Simple Taxonomy است. سپس به مسیر تنظیمات » Simple Taxonomy بروید تا یک طبقه جدید ایجاد کنید.
اولین قسمت ایجاد یک طبقه بندی سفارشی ارائه یک نام برای طبقه مورد نظر است. گزینه بعدی hierarchical است که توسط آن باید انتخاب کنید طبقه بندی سلسله مراتبی باشد یا خیر. اگر میخواهید طبقه بندی شما مانند دسته بندیها شامل طبقه والد و فرزند باشد گزینه True و در غیر اینصورت گزینه False را انتخاب کنید.
سومین گزینهای که باید انتخاب کنید نوع پست طبقه بندی است و آخرین گزینه این است که آیا میخواهید عناصر بصورت خودکار اضافه شوند یا خیر.
حال فرض کنیم که یک طبقه بندی را ایجاد نموده و آن را با نام تاپیک در نظر میگیریم. حال باید جهت نمایش کلمات قابل ترجمه سمت سایت ترجمه مناسب ارائه دهید.
پس از اینکه ترجمه را برای UI ارائه دادید، روی دکمه add taxonomy کلیک کنید. زمانی که طبقه بندی سفارشی ایجاد شد، این طبقه بندی در قسمت نوشتهها و با رابط کاربری نظیر دسته بندی یا برچسب ظاهر میشود. همچنین فیلد ایجاد یک طبقه بندی سفارشی نیز در ناحیه ویرایش پست نمایش داده میشود.
ایجاد دستی طبقه بندی سفارشی
کد زیر برای ایجاد یک طبقه بندی سفارشی مانند دسته بندی میباشد، آن را در فایل function.php قالب خود جایگذاری کنید.
//hook into the init action and call create_book_taxonomies when it fires add_action( 'init', 'create_topics_hierarchical_taxonomy', 0 ); //create a custom taxonomy name it topics for your posts function create_topics_hierarchical_taxonomy() { // Add new taxonomy, make it hierarchical like categories //first do the translations part for GUI $labels = array( 'name' => _x( 'Topics', 'taxonomy general name' ), 'singular_name' => _x( 'Topic', 'taxonomy singular name' ), 'search_items' => __( 'Search Topics' ), 'all_items' => __( 'All Topics' ), 'parent_item' => __( 'Parent Topic' ), 'parent_item_colon' => __( 'Parent Topic:' ), 'edit_item' => __( 'Edit Topic' ), 'update_item' => __( 'Update Topic' ), 'add_new_item' => __( 'Add New Topic' ), 'new_item_name' => __( 'New Topic Name' ), 'menu_name' => __( 'Topics' ), ); // Now register the taxonomy register_taxonomy('topics',array('post'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'topic' ), )); }
برای ایجاد یک طبقه بندی که خاصیت سلسله مراتبی را نداشته باشد، نظیر برچسبها، کد زیر را به فایل function.php پوشه theme خود اضافه کنید:
//hook into the init action and call create_topics_nonhierarchical_taxonomy when it fires add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 ); function create_topics_nonhierarchical_taxonomy() { // Labels part for the GUI $labels = array( 'name' => _x( 'Topics', 'taxonomy general name' ), 'singular_name' => _x( 'Topic', 'taxonomy singular name' ), 'search_items' => __( 'Search Topics' ), 'popular_items' => __( 'Popular Topics' ), 'all_items' => __( 'All Topics' ), 'parent_item' => null, 'parent_item_colon' => null, 'edit_item' => __( 'Edit Topic' ), 'update_item' => __( 'Update Topic' ), 'add_new_item' => __( 'Add New Topic' ), 'new_item_name' => __( 'New Topic Name' ), 'separate_items_with_commas' => __( 'Separate topics with commas' ), 'add_or_remove_items' => __( 'Add or remove topics' ), 'choose_from_most_used' => __( 'Choose from the most used topics' ), 'menu_name' => __( 'Topics' ), ); // Now register the non-hierarchical taxonomy like tag register_taxonomy('topics','post',array( 'hierarchical' => false, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'update_count_callback' => '_update_post_term_count', 'query_var' => true, 'rewrite' => array( 'slug' => 'topic' ), )); }
به تفاوت میان دو تکه کد بالا دقت کنید. مقدار hierarchical برای طبقه بندیهایی که مانند دسته بندی هستند True و برای طبقه بندی هایی که مانند برچسب هستند False میباشد. همچنین متغیر labels که یک آرایه میباشد و مقادیر parent_item_colon و parent_item را در کد دوم که سلسله مراتبی نیست null قرار دادیم.
مقاله مرتبط: 4 روش برای جلوگیری از سرقت تصاویر در وردپرس
نمایش طبقه بندی سفارشی
جهت نمایش عناصری که به طبقه بندی سفارشی اضافه کردید به صفحه یک نوشته خاص، یک خط کد زیر را در فایل single.php داخل loop جایگذاری کنید.
<?php the_terms( $post->ID, 'topics', 'Topics: ', ', ', ' ' ); ?>
همچنین میتوانید این تکه کد را به سایر فایلها مانند archive.php یا index.php یا هرجای دیگر که میخواهید طبقه بندی نمایش داده شود اضافه کنید.
بطور پیش فرض طبقه بندی سفارشی شما از قالب archive.php جهت نمایش پستها استفاده میکند. با این حال، شما میتوانید بوسیله ایجاد یک فایل خاص برای نمایش طبقه بندی (مانند {taxonomy-slug}.php) یک بایگانی سفارشی برای نمایش آنها ایجاد کنید.
امیدواریم این مقاله را مفید دیده باشید. اگر سوال یا دیدگاهی دارید زیر همین پست کامنت بگذارید.
عالی بود کارمو راه انداخت این اموزش ممنونم
خواهش میکنم، خوشحالیم که مفید بوده براتون
سلام چطور می تونم یک فیلتر سلسله مراتبی ایجاد کنم؟ مثلا ماشین- قطعه ماشین و در مرحله اخر نوع قطعه
ماشین 206
گلاچ
گلاچ گاز