هوک generate_rewrite_rules در وردپرس

wordpress hooks generate rewrite rules
11 آذر 1403

آشنایی با هوک generate_rewrite_rules در وردپرس


سلام دوست عزیز! امروز می‌خوایم درباره‌ی هوک generate_rewrite_rules در وردپرس صحبت کنیم. این هوک از مقوله‌های مهم در وردپرس به حساب می‌اد و مخصوصا برای کسانی که با URLهای سفارشی سر و کار دارن، فوق‌العاده کاربردی است. هوک‌ها به ما اجازه می‌دن که توی نحوه‌ی عملکرد وردپرس تغییرات لازم رو اعمال کنیم و بتونیم قابلیت‌های جدیدی رو به سایت اضافه کنیم.


ابتدا بایید بفهمیم که generate_rewrite_rules چه کاری انجام می‌ده. با این هوک می‌تونیم قوانین جدیدی درباره‌ی نویسه‌ها، دسته‌ها یا نوع‌های پست سفارشی ایجاد کنیم. اگر برای سایت‌تون URLهای خاصی نیاز دارین و می‌خواید که ساختار URLهای مختلف رو تعریف کنین، این هوک به شما کمک می‌کنه. البته، باید حواستون باشه که کمی با فرایند بازنویسی URLها آشنا باشین.


برنامه‌نویسی این هوک در وردپرس به سادگی انجام می‌شه. شما می‌تونید با استفاده از یک تابع دلخواه، قانونی جدید برای URLهای سایت‌تون ایجاد کنید و بعد از اون، این func را به هوک متصل کنید. یادگیری این موضوع به شما این امکان رو می‌ده که بتونید سایت خودتون رو به روش‌های جالب‌تری شخصی‌سازی کنید و کاربرانتون رو بیشتر جذب کنید.


حالا که کمی با مفهوم هوک آشنا شدیم، بیاید به یک مثال ساده نگاه کنیم و ببینیم چطور می‌تونیم از هوک generate_rewrite_rules برای ایجاد یک قانون ساده استفاده کنیم. ما می‌خواهیم یک URL خاص به نام /my-custom-url/ ایجاد کنیم و ببینیم که چطور می‌تونیم از این هوک استفاده کنیم.


کد مثال


function my_custom_rewrite_rule() {
add_rewrite_rule('^my-custom-url/?$', 'index.php?pagename=my-custom-url', 'top');
}
add_action('generate_rewrite_rules', 'my_custom_rewrite_rule');

توضیحات کد


function my_custom_rewrite_rule() {

این خط اعلام یک تابع جدید به نام my_custom_rewrite_rule است.


add_rewrite_rule('^my-custom-url/?$', 'index.php?pagename=my-custom-url', 'top');

با این خط، یک قانون بازنویسی جدید اضافه می‌کنیم که URL /my-custom-url/ را به صفحه‌ای به همین نام لینک می‌کنه.


}

این خط بدنۀ تابع را به پایان می­رسونه.


add_action('generate_rewrite_rules', 'my_custom_rewrite_rule');

این خط تابع my_custom_rewrite_rule را به هوک generate_rewrite_rules متصل می‌کنه تا هر بار که قوانین بازنویسی تولید می‌شن، این تابع نیز اجرا بشه.


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

؟

هوک generate_rewrite_rules چکار می‌کند؟

؟

چطور می‌توانم قوانین بازنویسی جدیدی اضافه کنم؟

؟

آیا برای استفاده از این هوک نیاز به تجربه برنامه‌نویسی دارم؟

؟

چگونه می‌توانم تغییرات ایجاد شده با این هوک را بیابم؟