
Cache و Cookie چیست؟ بررسی کاربرد آنها در HTTP
پروتکل HTTP بهصورت پیشفرض وضعیت درخواستهای قبلی را نگهداری نمیکند. هر درخواست برای سرور یک درخواست مستقل است و سرور...
در بخش نوشتههای وردپرس، دو گزینه «دستهها» و «برچسبها» را مشاهده میکنیم. وردپرس از این دو بخش برای طبقهبندی محتوای یک پستتایپ استفاده میکند. به این روش طبقهبندی، تکسانومی یا Taxonomy میگوییم.
تکسانومیها میتوانند به پستتایپ پیشفرض نوشتهها یا یک پستتایپ سفارشی متصل شوند. اگر با پستتایپها آشنایی ندارید، اینجا کلیک کنید.
اگر دستهها و برچسبهای پیشفرض نیاز شما را برطرف نمیکنند، میتوانید یک تکسانومی سفارشی یا Custom Taxonomy بسازید. سپس میتوانید نوشتهها یا محصولات خود را براساس آن دستهبندی و فیلتر کنید.
تکسانومیها در دو گروه قرار میگیرند:
میتوانیم تکسانومی را در فایل فانکشن قالب یا داخل یک افزونه ایجاد کنیم. بهتر است کد تکسانومی را داخل افزونه قرار دهیم؛ زیرا تکسانومی ارتباط مستقیمی با ساختار محتوای سایت دارد.
اگر کد را در قالب قرار دهیم، وردپرس پس از تغییر قالب دیگر آن را اجرا نمیکند. در این شرایط، تکسانومیها در پنل مدیریت و سایت در دسترس نخواهند بود. البته اطلاعات آنها از پایگاه داده حذف نمیشود.
اگر کد را داخل افزونه قرار دهیم، تغییر قالب روی تکسانومیها تأثیر نمیگذارد.
در نام تکسانومی فقط از حروف کوچک انگلیسی، اعداد، خط تیره و آندرلاین استفاده کنید. نام تکسانومی نباید بیشتر از ۳۲ کاراکتر باشد.
قطعهکد زیر دو تکسانومی ثبت میکند. تکسانومی اول ساختاری مانند دستهها دارد و تکسانومی دوم مانند برچسبها عمل میکند. در ادامه، قسمتهای مختلف این کد را بررسی میکنیم.
add_action( 'init', 'tin_register_taxonomies', 0 );
function tin_register_taxonomies() {
// Add new categories taxonomy
$labels = array(
'name' => 'نوع محصولات',
'singular_name' => 'نوع محصول',
'menu_name' => 'نوع محصول',
'all_items' => 'همه انواع محصول',
'edit_item' => 'ویرایش نوع محصول',
'view_item' => 'مشاهده نوع محصول',
'update_item' => 'بروزرسانی نوع محصول',
'add_new_item' => 'افزودن نوع محصول جدید',
'new_item_name' => 'عنوان نوع محصول',
'parent_item' => 'مادر',
'parent_item_colon' => 'مادر:',
'search_items' => 'جستجو',
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'hierarchical' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
'show_in_quick_edit' => true,
'show_admin_column' => true,
'capabilities' => array(
'manage_terms' => 'manage_categories',
'edit_terms' => 'manage_categories',
'delete_terms' => 'manage_categories',
'assign_terms' => 'edit_posts',
),
'rewrite' => array( 'slug' => 'product-type' ),
);
register_taxonomy( 'tin_product_type', array( 'tin_pt_product' ), $args );
// Add new tag taxonomy
$labels = array(
'name' => 'رنگ ها',
'singular_name' => 'رنگ',
'menu_name' => 'رنگ ها',
'all_items' => 'همه رنگ ها',
'edit_item' => 'ویرایش رنگ',
'view_item' => 'مشاهده رنگ',
'update_item' => 'بروزرسانی رنگ',
'add_new_item' => 'افزودن رنگ جدید',
'new_item_name' => 'عنوان رنگ جدید',
'parent_item' => null,
'parent_item_colon' => null,
'search_items' => 'جستجوی رنگ',
'popular_items' => 'رنگ های محبوب',
'separate_items_with_commas' => 'رنگ ها را با ویرگول جدا کنید.',
'add_or_remove_items' => 'افزودن یا حذف رنگ ها',
'choose_from_most_used' => 'انتخاب از رنگهای بیشتر استفاده شده.',
'not_found' => 'هیچ رنگی پیدا نشد',
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'rewrite' => array( 'slug' => 'product-color' ),
);
register_taxonomy( 'tin_product_color', 'tin_pt_product', $args );
}در کد زیر، تابع add_action() تابع موردنظر ما را به هوک init متصل میکند. وردپرس هنگام اجرای این هوک، تابع ثبت تکسانومیها را اجرا میکند.
این تابع سه ورودی دارد:
init استفاده کردهایم.tin_register_taxonomies است.add_action( 'init', 'tin_register_taxonomies', 0 );با استفاده از تابع register_taxonomy() میتوانیم یک تکسانومی جدید در وردپرس ثبت کنیم. در مثال ما، تکسانومی اول سلسلهمراتبی است و مانند دستهها عمل میکند. تکسانومی دوم نیز غیرسلسلهمراتبی است و ساختاری مانند برچسبها دارد.
تابع register_taxonomy() سه ورودی اصلی دریافت میکند:
tin_product_type و tin_product_color استفاده کردهایم.tin_pt_product متصل کردهایم.register_taxonomy( 'tin_product_type', array( 'tin_pt_product' ), $args );
register_taxonomy( 'tin_product_color', array( 'tin_pt_product' ), $args );تابع register_taxonomy() تنظیمات مختلفی دارد. با کمک این تنظیمات میتوانیم نحوه عملکرد و نمایش تکسانومی را کنترل کنیم.
public: این گزینه مشخص میکند که تکسانومی برای استفاده عمومی در نظر گرفته شده است یا خیر. اگر مقدار آن را برابر با true قرار دهیم، وردپرس تنظیمات مرتبط با مدیریت و نمایش عمومی را نیز بهصورت پیشفرض فعال میکند.
اگر مقدار public برابر با true باشد، گزینههای زیر نیز مقدار پیشفرض true را دریافت میکنند. البته میتوانیم مقدار هرکدام را جداگانه تغییر دهیم.
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,publicly_queryable: این گزینه دسترسی عمومی به صفحات تکسانومی را کنترل میکند. برای مثال، دستهها و برچسبهای وردپرس صفحه آرشیو و آدرس مخصوص خود را دارند.
اگر مقدار این گزینه را برابر با true قرار دهیم، کاربران میتوانند از سمت سایت به صفحه آرشیو تکسانومی دسترسی داشته باشند. اگر مقدار آن false باشد، وردپرس اجازه دسترسی عمومی به این صفحات را نمیدهد.
ممکن است تکسانومی همچنان در پنل مدیریت وجود داشته باشد؛ اما کاربران از طریق آدرس سایت به صفحه آرشیو آن دسترسی نخواهند داشت.
hierarchical: این گزینه ساختار تکسانومی را مشخص میکند. اگر مقدار آن true باشد، تکسانومی مانند دستهها عمل میکند. در این حالت، ترمها میتوانند والد و فرزند داشته باشند.
اگر مقدار آن را برابر با false قرار دهیم، تکسانومی مانند برچسبها عمل میکند و ساختار والد و فرزند ندارد.
تفاوت اصلی ساختار دستهها و برچسبها را گزینه
hierarchicalمشخص میکند.
show_ui: این گزینه رابط مدیریت تکسانومی را در پنل مدیریت وردپرس کنترل میکند.
اگر مقدار آن true باشد، وردپرس صفحه مدیریت ترمهای تکسانومی را در اختیار مدیر سایت قرار میدهد. اگر مقدار آن را false قرار دهیم، وردپرس رابط پیشفرض مدیریت تکسانومی را نمایش نمیدهد.
این گزینه زمانی کاربرد دارد که بخواهیم یک رابط کاربری اختصاصی برای مدیریت تکسانومی طراحی کنیم.
show_in_menu: این گزینه مشخص میکند که وردپرس لینک مدیریت تکسانومی را در منوی پنل مدیریت قرار دهد یا خیر.
اگر مقدار آن false باشد، وردپرس لینک تکسانومی را از منو حذف میکند. بااینحال، در صورت فعال بودن show_ui ممکن است همچنان بتوانیم با واردکردن آدرس مستقیم به صفحه مدیریت آن دسترسی پیدا کنیم.
این گزینه با publicly_queryable تفاوت دارد. گزینه show_in_menu منوی پنل مدیریت را کنترل میکند؛ اما publicly_queryable دسترسی عمومی به صفحه تکسانومی در سایت را مشخص میکند.
این گزینه دسترسی به تکسانومی در بخش نمایش و فهرستها را کنترل میکند. اگر مقدار آن true باشد، میتوانیم ترمهای تکسانومی را به فهرست سایت اضافه کنیم. در ضورتی که گزینه Taxonomy را در صفحه فهرستها مشاهده نکردید، بخش «تنظیمات صفحه» را بررسی کنید.
اگر مقدار این تنظیم false باشد، وردپرس آن را در بخش انتخاب آیتمهای فهرست قرار نمیدهد.
show_tagcloud: این گزینه مشخص میکند که تکسانومی در کنترلهای ابزارک ابر برچسب قرار بگیرد یا خیر.
اگر مقدار آن true باشد، ابزارک ابر برچسب میتواند از این تکسانومی استفاده کند. اگر مقدار آن را false قرار دهیم، وردپرس نام تکسانومی را در گزینههای این ابزارک قرار نمیدهد.
show_in_quick_edit: این گزینه حضور تکسانومی در بخش ویرایش سریع و ویرایش گروهی را کنترل میکند.
اگر مقدار آن true باشد، وردپرس تکسانومی را در این بخشها نمایش میدهد. اگر مقدار آن false باشد، تکسانومی در ویرایش سریع و گروهی قرار نمیگیرد.
show_admin_column: این گزینه مشخص میکند که وردپرس یک ستون برای تکسانومی در صفحه فهرست نوشتهها یا پستتایپها ایجاد کند یا خیر.
اگر مقدار آن true باشد، وردپرس نام ترمهای مرتبط را در یک ستون جداگانه نمایش میدهد. اگر مقدار آن false باشد، این ستون در صفحه فهرست پستتایپ قرار نمیگیرد.
capabilities: این گزینه سطح دسترسی کاربران به بخشهای مختلف تکسانومی را مشخص میکند. برای مثال، میتوانیم اجازه حذف ترمها را فقط در اختیار مدیر سایت قرار دهیم.
این گزینه یک آرایه دریافت میکند. در ادامه، قابلیتهای موجود در این آرایه را بررسی میکنیم.
manage_terms: به هر گزینهای که به یک تکسانومی اضافه میکنیم، ترم میگوییم. برای مثال، «نوع محصولات» یک تکسانومی است. اگر گزینه «تلویزیون» را به آن اضافه کنیم، «تلویزیون» یک ترم خواهد بود.
گزینه manage_terms سطح دسترسی لازم برای مدیریت ترمها را مشخص میکند. در مثال بالا، قابلیت manage_categories را برای آن قرار دادهایم.
برای مشاهده قابلیتهای پیشفرض وردپرس مانند manage_categories و edit_posts میتوانید مستندات زیر را بررسی کنید.
https://wordpress.org/support/article/roles-and-capabilities/rewrite: با استفاده از این گزینه میتوانیم نامک تکسانومی را در آدرس صفحات آن تغییر دهیم.
گزینه rewrite یک آرایه دریافت میکند. برای تعیین نامک دلخواه، مقدار موردنظر را در کلید slug قرار میدهیم.
پس از ثبت تکسانومی یا تغییر تنظیمات
rewrite، یکبار به بخش «تنظیمات ← پیوندهای یکتا» بروید و روی دکمه ذخیره تغییرات کلیک کنید. وردپرس با این کار قوانین بازنویسی آدرسها را تازهسازی میکند.
وردپرس برای نمایش صفحات آرشیو تکسانومیهای سفارشی از ساختار مشخصی استفاده میکند. فرقی ندارد تکسانومی ما سلسلهمراتبی یا غیرسلسلهمراتبی باشد.
برای شخصیسازی این صفحات، سه روش اصلی داریم.
در روش اول، یک قالب عمومی برای آرشیو تمام تکسانومیهای سفارشی ایجاد میکنیم. برای این کار باید فایل زیر را در پوشه قالب قرار دهیم:
taxonomy.phpاگر وردپرس قالب اختصاصیتری برای تکسانومی پیدا نکند، از این فایل استفاده میکند. عملکرد این فایل تا حدودی شبیه فایل archive.php است؛ اما فقط آرشیو تکسانومیهای سفارشی را پوشش میدهد.
در روش دوم، برای یک تکسانومی مشخص قالب اختصاصی میسازیم. این قالب صفحات آرشیو تمام ترمهای همان تکسانومی را پوشش میدهد.
نام فایل باید از الگوی زیر پیروی کند:
taxonomy-{taxonomy}.phpبرای مثال، اگر نام تکسانومی ما tin_product_type باشد، نام فایل را به شکل زیر مینویسیم:
taxonomy-tin_product_type.phpدر روش سوم، برای یکی از ترمهای یک تکسانومی قالب اختصاصی ایجاد میکنیم.
برای مثال، فرض کنید تکسانومی «نوع محصولات» را ساختهایم و «تلویزیون» یکی از ترمهای آن است. اگر بخواهیم فقط صفحه ترم تلویزیون قالب متفاوتی داشته باشد، باید از الگوی زیر استفاده کنیم:
taxonomy-{taxonomy}-{term}.phpبخش {taxonomy} نام تکسانومی و بخش {term} نامک ترم موردنظر است. برای مثال، اگر نام تکسانومی tin_product_type و نامک ترم television باشد، فایل زیر را میسازیم:
taxonomy-tin_product_type-television.phpوردپرس ابتدا بهدنبال قالب اختصاصی ترم میگردد. اگر آن را پیدا نکند، قالب اختصاصی تکسانومی را بررسی میکند. سپس بهترتیب فایلهای taxonomy.php، archive.php و index.php را بررسی خواهد کرد.
برای ساخت حلقه و کوئری این صفحات میتوانید از کدهای صفحه آرشیو قالب استفاده کنید.
از کلمات کلیدی و تگهای مربوط به قسمت ۱ – ایجاد تکسانومی / Taxonomy در وردپرس دیدن فرمایید.

متاسفانه تاکنون پیامی برای این مطلب ثبت نشده است. شما اولین شخصی باشید که پیام میگذارد.

تهران آی تی با افتخار خدمات زیر را ارائه میدهد.

طراحی سایت مدرن با ساختار استاندارد و تجربه کاربری مناسب انجام میشود تا اعتماد کاربر بیشتر و مسیر رشد کسبوکار بهتر شکل بگیرد.

توسعه سایت و بخشهای اختصاصی با ASP.NET انجام میشود تا امنیت، سرعت و قابلیت توسعه بالا باشد و برای پروژههای جدی مناسب شود.

سایت وردپرسی با مدیریت آسان و تنظیمات درست طراحی میشود تا ظاهر حرفهای باشد و با بهینهسازی، سرعت و سئو هم بهتر شود.

طراحی رابط و تجربه کاربری باعث میشود مسیر کاربر سادهتر شود، تعامل بیشتر و تصمیمگیری برای خرید یا تماس راحتتر انجام شود.

سئو با بهبود ساختار، محتوا و بخش فنی انجام میشود تا رتبه گوگل بهتر شود، بازدید هدفمند افزایش یابد و نتیجه پایدار ایجاد گردد.

با بهینهسازی تصاویر، کدها و کش، زمان بارگذاری کمتر میشود تا تجربه کاربر بهتر شود و امتیاز فنی و سئو هم تقویت گردد.

محتوا بر اساس کلمات کلیدی و نیاز مخاطب تولید میشود تا ورودی گوگل بیشتر شود، اعتماد ساخته و کاربران راحتتر به مشتری تبدیل شوند.

با تبلیغات هدفمند و برنامه رشد، دیده شدن بهتر میشود تا مشتری بیشتری جذب شود و فروش آنلاین افزایش یابد و هزینهها هم کنترل شود.

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

با تنظیمات امنیتی و بررسی آسیبپذیریها، ریسک نفوذ کمتر میشود تا اطلاعات سایت و کاربران حفظ شود و اعتماد مشتری از بین نرود.

با بررسی نیاز و هدف شما، مسیر درست پیشنهاد میشود تا تصمیمگیری دقیقتر و زمان و هزینه بهتر مدیریت گردد و نتیجه قویتر شود.

راهکارهای هوشمند برای خودکارسازی و تحلیل ارائه میشود تا دقت بیشتر و گزارشگیری سادهتر و تصمیمها بهتر گرفته شوند.
فرم افزودن دیدگاه
با ارسال نظرات خود ما را در ایجاد محتوای بهتر کمک کنید.