تاکسونومی ( Taxonomy ) در وردپرس چیست و چه اهمیتی دارد ؟
مقالات وردپرستاکسونومی در وردپرس چیست و چرا باید درمورد آن اطلاع داشته باشیم ؟ چگونه میتوان یک Taxonomy به وردپرس اضافه کرده و از آن استفاده کرد ؟ در این محتوای بسیار مهم و کاربردی همراه ما باشید .
قبلا در مقاله ” پست تایپ چیست و چه اهمیتی دارد ” به شکل مفصل در رابطه با پست تایپ و اینکه به کدام بخشها داخل سیستم وردپرس یک Post Type گفته میشود توضیح دادیم و به سادهترین شکل خدمت شما نشان دادیم که چگونه میتوان یک پست تایپ جدید را داخل سیستم مدیریت محتوای وردپرس اضافه کرد و پس از افزودن آن ، چه اتفاقاتی در وردپرس رخ میدهد و باید چه تمهیداتی اندیشیده شود .
اما موضوع این مقاله ما در مورد تاکسونومی ( Taxonomy ) است . تاکسونومی مکمل موضوع پست تایپ است . در داخل مقاله پست تایپ به تاکسونومی اشاره نشد اما همانطور که گفتیم تاکسونومی مکمل و تکمیل کننده پست تایپ است .
زمانی که یک پست تایپ جدید داخل سیستم اضافه میشود ، میتوان بخش محتوایی جدیدی را کنترل کرد . مثلا بخش کتاب ها را توسط پست تایپ به وردپرس اضافه کردیم و شروع به وارد کردن اسامی کتابها به همراه مشخصات آنها نمودیم .
اینجاست که موضوع تاکسونومی مطرح میشود . وردپرس در سیستم خود دو تاکسونومی به شکل پیشفرض دارد که اسم یکی ” دستهها ” و یکی ” برچسبها ” هستند و داخل بخش نوشتهها قرار دارند . اما شاید بپرسید که اسم این قسمتها دسته و برچسب است و چه ارتباطی به تاکسونومی دارد ؟
تاکسونومی سیستمی است که وردپرس آن را به شکل یک بخش واحد همچون پست تایپ درنظر گرفته است و امکان متصل شدن تاکسونومی به پست تایپ را فراهم نموده است .
به عبارتی شما نمیتوانید تاکسونومی را به شکل مجزا و منفرد به سیستم اضافه کنید مگر اینکه حتما یک پست تایپ داخل سیستم وجود داشته باشد و از آنجایی که نوشته یا برگه همواره داخل وردپرس وجود دارند ، میتوان تاکسونومی جدید را به قسمت نوشته یا برگه اضافه کرد . به عبارتی ، انگار که یک دستهبندی جدید به بخش نوشتهها اضافه شده است .
ماهیت تاکسونومی چگونه است ؟!
تاکسونومی درکل بخشی شبیه به پست تایپ است اما با ساختاری ضعیفتر که قسمت پست تایپ شما را تکمیل کرده و امکان آرشیو شدن محتوای بخش پست تایپ را به شما خواهد داد . معروفترین تاکسونومی های وردپرس قسمت دسته و برچسب داخل نوشتهها است .
ممکن است پست تایپ شما یک یا بیش از یک تاکسونومی داشته باشد و یا اصلا تاکسونومی نداشته باشد . همین بخش نوشتهها که از آن صحبت میکنیم ، شامل دو تاکسونومی به نام دستهها با شناسه ( category ) و بخش برچسبها با شناسه ( tag ) است .
اگر مقاله پست تایپ چیست را بخوبی مطالعه کرده باشید در آنجا اشاره کردیم که هر پست تایپ برای خود ، یک شناسه و آیدی دارد که روی همان پست تایپ فعال خواهد شد . برای تاکسونومی نیز باید شناسه تعریف شود تا هنگام کدنویسی و همچنین استفاده سیستم وردپرس از این بخش ، مشکلی وجود نداشته باشد . از این جهت تاکسونومی های دستهها با شناسه ( category ) و بخش برچسبها با شناسه ( tag ) داخل وردپرس قرار گرفته است . برای بخش محصولات فروشگاه ساز ووکامرس نیز این شناسه product_category نام دارد .
چگونه Taxonomy به وردپرس اضافه کنیم ؟
همانطور که گفته شد ، یک Taxonomy باید به یک پست تایپ متصل شود تا بتوان محتوای پست تایپ مدنظر را توسط این بخش در گروه مدنظر سازماندهی کرد .
ممکن است شما نیاز داشته باشید تا به قسمت فروشگاه ساز ووکامرس ، یک بخش بعنوان برندها اضافه کنید که هرمحصول را در برند خود دستهبندی و سازماندهی کنید . لذا بخش Taxonomy میتواند بسیار کارآمد باشد . برای افزودن پست تایپ به وردپرس سادهترین و اصولیترین راه ، استفاده از قطعه کد مخصوص به این کار است که باید داخل فایل functions.php این کار را انجام داد . کد استاندارد برای افزودن Taxonomy به وردپرس که توسط سایت توسعه دهندگان وردپرس ارائه شده به شکل زیر است :
function wporg_register_taxonomy_course() {
$labels = array(
'name' => _x( 'Courses', 'taxonomy general name' ),
'singular_name' => _x( 'Course', 'taxonomy singular name' ),
'search_items' => __( 'Search Courses' ),
'all_items' => __( 'All Courses' ),
'parent_item' => __( 'Parent Course' ),
'parent_item_colon' => __( 'Parent Course:' ),
'edit_item' => __( 'Edit Course' ),
'update_item' => __( 'Update Course' ),
'add_new_item' => __( 'Add New Course' ),
'new_item_name' => __( 'New Course Name' ),
'menu_name' => __( 'Course' ),
);
$args = array(
'hierarchical' => true, // make it hierarchical (like categories)
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => [ 'slug' => 'course' ],
);
register_taxonomy( 'course', [ 'post' ], $args );
}
add_action( 'init', 'wporg_register_taxonomy_course' );
در این کد شما باید به چندین قسمت دقت کنید که با تنظیم درست آنها ، تاکسونومی شما به درستی روی وردپرس و پست تایپ مدنظر فعال خواهد شد . قسمت ” $labels ” مربوط به تمامی متونی است که داخل وردپرس نمایش داده خواهد شد ، مثلا متن ” برندهای محصول ” که داخل داشبورد نمایش داده میشود . پس در این قسمت باید بجای متون انگلیسی پیشفرض ، متون مدنظر خودمان را بنویسیم .
در قسمت ” $args ” چندین بخش بسیار مهم است که باید به آنها دقت شود به این دلیل که پیکربندی صحیح تاکسونومی شما با بخش $args انجام خواهد شد . گزینه اول ، خط زیر است :
'hierarchical' => true,
اگر این قسمت برابر با true باشد ، تاکسونومی شما امکان ساخت آیتمها بصورت مادر و فرزند را خواهید داشت و در حقیقت قسمت ” آیتم والد ” داخل تاکسونومی شما نمایش داده شده و قابل انجام خواهد بود . نمونه بارز این گزینه قسمت دسته و برچسب در نوشتهها است . قسمت دستهها امکان ساخت دسته بصورت دسته والد و فرزند را دارد اما قسمت برچسبها این امکان را ندارد .
به عبارت ساده اگر قصد دارید تا یک بخش همانند دستهها بسازید باید این بخش برابر true تنظیم شود و اگر قصد دارید تا بخشی همانند برچسب ها بسازید باید مقدار این بخش برابر false باشد . قسمت مهم بعدی در این کد ، خط زیر است :
'rewrite' => [ 'slug' => 'course' ],
این بخش مربوط به همان شناسه تاکسونومی است که بالاتر اشاره شد . در این مقاله شناسه تاکسونومی را course درنظر گرفتیم و شما میتوانید برای مثال آن را brand درنظر بگیرید ( دقت داشته باشید که تمامی کلمات با حروف کوچک نوشته شوند ) . نهایتا به مهمترین قسمت در کد خواهیم رسید که بخش زیر است :
register_taxonomy( 'course', [ 'post' ], $args );
در این قسمت مشخص خواهیم کرد که تاکسونومی course روی کدام پست تایپ فعال شود . در این قسمت ” post ” را نوشتهایم ( یعنی همان شناسه پست تایپ نوشتهها ) و این تاکسونومی جدید شما پس از ایجاد شدن ، داخل قسمت نوشتهها و درکنار دسته و برچسب نمایش داده خواهد شد . اگر قصد دارید تا این تاکسونومی به بخش برگهها اضافه شده و برگهها نیز امکان دسته بندی داشته باشند ، باید این قسمت را برابر با ” page ” تنظیم کنید ( که البته اضافه کردن تاکسونومی به بخش برگهها توصیه نمیشود ) .
زمانی که شما از افزونههایی همچون ووکامرس استفاده میکنید ، درحقیقت همین قطعه کد داخل افزونه استفاده شده است که پس از فعال سازی پلاگین و نمایش قسمت محصولات داخل پیشخوان ، بخش دستهبندی محصول و برچسب محصول نیز امکان سازمان دهی محصولات را برای شما ایجاد خواهد کرد . این قطعه کد برای دوستانی کاربرد دارد که با کدنویسی در داخل وردپرس آشنایی دارند .
چگونه شناسه ( slug ) تاکسونومی را تشخیص دهیم ؟
شناسایی slug تاکسونومی نیز همانند پست تایپها ، یک روش ساده دارد . شما کافیست تا به قسمت تاکسونومی مدنظر بروید . به عبارتی اگر قصد دارید تا slug قسمت دستهها در بخش نوشتهها را پیدا کنید ، ابتدا به صفحه مربوط به دستهها در بخش نوشتهها مراجعه کنید . اکنون به نوار آدرس مرورگر توجه کنید و به دنبال عبارت زیر باشید :
?taxonomy=category
در این قسمت مشخص شده است که نامک و شناسه این taxonomy برابر با category است یعنی وردپرس به شکل اختصاصی ، شناسه بخش دستههای قسمت نوشتهها را برابر با category درنظر گرفته است . اگر به بخش برچسبها مراجعه کنید ، این متن بصورت taxonomy=post_tag است . پس به این ترتیب میتوان از پیشخوان وردپرس و بدون نصب افزونه یا مراجعه به بخش هایی همچون ویرایشگر پوسته و … شناسه یا نامک تاکسونومی را شناسایی کرد .
نکته مهم پس از افزودن تاکسونومی جدید به وردپرس
زمانی که شما یک پست تایپ یا تاکسونومی جدید به وردپرس اضافه کردید باید به قسمت ” تنظیمات ” و سپس قسمت ” پیوندهای یکتا ” مراجعه کرده و یکبار در این قسمت بروزرسانی انجام دهید تا شناسههای پست تایپ و تاکسونومی جدید که اضافه شده است توسط آدرسهای سیستم شناسایی شود ( به این کار که شما به شکل دستی انجام خواهید داد در برنامه نویسی وردپرس ، فلاش گفته میشود ) .
درکل بحث پست تایپ و تاکسونومی موضوعی ساده اما بسیار حیاتی و راهگشا داخل وردپرس است . البته پس از اضافه شدن تاکسونومی جدید ، نیاز به یک صفحه آرشیو اختصاصی دارید تا محتوای شما داخل آن صفحه نمایش داده شود . اگر این فایل را داخل قالب خودتان نداشته باشید ، وردپرس به شکل هوشمندانه از قالبهای بخش archive.php یا index.php استفاده خواهد کرد .
البته این نکته نیز حائز اهمیت است که اگر شما برای مثال به قسمت محصولات فروشگاه یک تاکسونومی اضافه کنید ، ظاهر نمایشی این بخش دقیقا مشابه با ظاهری خواهد بود که در صفحه دستهبندی محصولات مشاهده میکنید ، نتیجه این است که درصورت افزودن Taxonomy به بخش هایی که خودشان قبلا حداقل یک تاکسونومی داشتند نیازی به طراحی صفحات خاصی در قالب را ایجاد نمیکند و میتوان یا خیال راحت این کار ( افزودن Taxonomy جدید ) را انجام داد .
این مبحث به شکل بسیار جذاب و البته کاربردی در ” دوره آموزش پست تایپ و تاکسونومی ” خدمت شما دانشجویان علاقمند در یک پکیج کاربردی و بروز تدریس شده است که میتوانید تمامی سرفصل های مربوط به این حوزه را یکبار برای همیشه آموزش دیده و در طراحی قالب یا افزونههای خود به کار گیرید .
درحقیقت میتوان اینگونه گفت که اگر به حوزه طراحی قالب وردپرس یا افزونه نویسی علاقه دارید ، اولین و مهمترین مباحثی که باید به یادگیری آنها به همراه تمامی مشتقات بپردازید ، قسمت پست تایپ و قسمت تاکسونومی است .
امید قدیمی هستم ، 8 سال است که در زمینه طراحی و برنامه نویسی وب سایت فعالیت می کنم . توسعه دهنده فرانت اند ، طراح و برنامه نویس انواع وب سایت های وردپرسی ، فعال در زمینه تولید محتوا و سئو وب سایت
نقشه راه فرانت
اگر قصد دارید تا یک طراح ماهر باشید ، ما درست ترین مسیر را برای شما فراهم کردیم و فقط کافیست همراه ما باشید
آیا میدانید کدام وب سایت ها را نمیتوان توسط وردپرس حتی با وجود این هسته قدرتمندش طراحی کرد ؟ در این مقاله خدمتتان توضیح دادیم که چه وب سایت هایی را هرگز نمیتوانید با وردپرس طراحی و اجرا کنید !
خطای 503 ممکن است شما را اذیت کند ! میتوانید با بررسی 3 مورد اصلی در سایت خودتان ( خصوصا سایت های وردپرسی ) این مشکل را از میان بردارید .