درک متد WP_Rewrite::set_category_base() در وردپرس

wordpress wp rewrite set category base
02 بهمن 1403

آشنایی با WP_Rewrite::set_category_base()


در دنیای وردپرس، تنظیمات مربوط به آدرس‌های URL بسیار اهمیت دارد. یکی از کلاس‌های کلیدی در این زمینه، کلاس WP_Rewrite است. این کلاس مسئول مدیریت و سفارشی‌سازی ساختار پیوند یکتا در وردپرس می‌باشد. یکی از متدهای مهم این کلاس، متد set_category_base() است که به ما امکان می‌دهد پایه‌ای برای دسته‌بندی‌های خود تعیین کنیم.


به طور ساده، هر دسته‌ای در وردپرس می‌تواند یک URL خاص داشته باشد و این URL می‌تواند شامل یک بخش اصلی (base) باشد. با استفاده از متد set_category_base()، شما می‌توانید این بخش را سفارشی کنید و به این ترتیب URL دسته‌های خود را به صورت دلخواه تنظیم کنید. این امر نه تنها می‌تواند به SEO سایت شما کمک کند بلکه به کاربران نیز یک تجربه کاربری بهتری ارائه می‌دهد.


به عنوان مثال، فرض کنید که می‌خواهید پسوند پیش‌فرض 'category' را به 'topics' تغییر دهید. این کار به کمک متد set_category_base() امکان‌پذیر است. به این ترتیب، آدرس دسته‌بندی شما به شکل example.com/topics/category-name خواهد بود.


برای استفاده از این متد، شما می‌توانید ابتدا یک اکشن به init اضافه کنید و سپس تنظیمات خود را اعمال کنید. در نتیجه، برای اطمینان از اینکه تغییرات شما در دسترس هستند، پس از تغییرات همواره باید پرچم rewrite_rules را ریست کنید.


مثال کد


function custom_category_base() {
global $wp_rewrite;
$wp_rewrite->set_category_base( 'topics' );
}
add_action( 'init', 'custom_category_base' );

توضیح کد



تابع custom_category_base: function custom_category_base() { ایجاد یک تابع جدید به نام custom_category_base است. این تابع به ما امکان می‌دهد تنظیمات پایه دسته‌بندی را تغییر دهیم.


دسترسی به $wp_rewrite: global $wp_rewrite; به ما اجازه می‌دهد تا به شی $wp_rewrite که به کلاس WP_Rewrite اشاره دارد، دسترسی پیدا کنیم.


تنظیم پایه دسته‌بندی: $wp_rewrite->set_category_base( 'topics' ); با استفاده از این خط، ما بخش اصلی categorie را به 'topics' تغییر می‌دهیم.


اضافه کردن اکشن: add_action( 'init', 'custom_category_base' ); این خط، تابع custom_category_base را به اکشن 'init' اضافه می‌کند تا در زمان بارگذاری وردپرس اجرا شود.

سوالات متداول

؟

چرا باید از WP_Rewrite استفاده کنم؟

؟

آیا تغییر پایه دسته بندی‌ها تأثیری در SEO دارد؟

؟

آیا تغییر پایه دسته بندی‌ها ساده است؟