آشنایی با 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' اضافه میکند تا در زمان بارگذاری وردپرس اجرا شود.