wordpress- وردپرس

افزودن Theme activation / deactivation Hook

در وردپرس اکشن های زیادی برای developer ها موجوده که میتونه برای استفاده از اونها در بهتر کردن تم ها یا نوشتن پلاگین ها مورد استفاده قرار بگیره. ولی جای یکی از اونها خالیه که شاید یکی از به دردبخورترین ها هم باشه. شاید در نسخه های بعدی وردپرس اون رو اضافه کنن. ولی تا اون موقع ما مجبوریم خودمون دست بکار شیم و این اکشن رو ایجاد کنیم. کاری که میخوایم بکنیم نوشتن تابعی هست که در هنگام فعال کردن یا تعویض تم فراخوانی بشه.

در تئوری ما چطور میتونیم اینکار رو انجام بدیم؟ ما میتونیم یک مقدار به عنوان Flag رو در دیتابیس ذخیره کنیم با دستور add_option . این مقدار موقعی که اولین دستورات اجرا شدن می تونه اضافه شه. فایل functions.php از اولین فایلهایی است که در هنگام لود شدن وردپرس فراخوانی میشه. پس اول از همه چک می کنیم که یک مقدار خاص توی دیتابیس وجود داره یا نه. پس اگه اون مقدار وجود نداشت تم برای اولین باره که داره لود میشه و دستورات functions.php برای اولین باره که داره اجرا میشه. پس تم همین الان Activate شده.

اگه بخواهیم دستوراتی که بصورت تئوری گفتیم رو در عمل بیاریم همچین کدی میشه.

ما یک تابع تعریف کردیم که ورودیش یک function هست که وقتی تم Activate شد فراخوانی میشه. در خط اول داخل تابع اومدیم مقدار Flag ی که تعریف کردیم رو خوندیم اگه مقدار از قبل وجود داشت که هیچ، یعنی تم از قبل فعال شده است. اگه وجود نداشت یعنی تم داره برای اولین بار فعال میشه. بعدش میام مقدار فلگ رو به دیتابیس اضافه میکنیم. و تابعی که از ورودی دریافت شد رو اجرا می کنیم(فراخوانی می کنیم) با دستور call_user_func

برای استفاده از این تابع باید به این صورت عمل کرد