فانکشن وردپرس و تفاوت آن با سایر اجزای قالب – Function.php

فانکشن وردپرس چیه و چه فرقی با بقیه اجزای قالب داره ؟
-
بخشهای قالب مثل
header.phpیاsingle.phpبیشتر HTML + PHP ترکیبی هستن که خروجی رو میسازن (یعنی همون چیزی که کاربر میبینه). -
ولی functions.php یا فایلهای افزونه، بیشتر شبیه مغز بکاند هستن که به وردپرس میگن چی کار بکنه، نه اینکه مستقیم چیزی رو چاپ کنن.
-
اونجا ما هوکها (Hooks) رو استفاده میکنیم تا توی فرآیند کار هسته وردپرس دخالت کنیم.
-
کدهایی که توی functions.php یا پلاگینها میذاریم، در واقع مستقیم با هسته وردپرس در ارتباطن و از سیستم Hook استفاده میکنن.
Hook چیه؟
هوک در وردپرس یعنی: «وقتی فلان اتفاق افتاد، این کد من رو هم اجرا کن».
دو نوع اصلی داریم:
-
-
Action Hooks → مثل
add_action('wp_head', 'my_function')
یعنی موقع اجرایwp_head، تابع من رو هم اجرا کن. -
Filter Hooks → مثل
add_filter('the_content', 'my_filter')
یعنی قبل از اینکه وردپرس محتوای پست رو نشون بده، از تابع من بگذرون و خروجی جدید رو بده.
-
مثال با add_filter
فرض کن میخوای هر بار که متن پستها نمایش داده میشه، آخرش یک جمله اضافه بشه:
function add_signature_to_content($content) {
return $content . ‘<p>با عشق</p>’;
}
add_filter(‘the_content’, ‘add_signature_to_content’);