🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ احمد اسماعیلی
سوال مهم در مورد این جلسه
کیوان علی محمدی حل شده توسط کیوان علی محمدی

سلام استاد . شما اومدید از هوک register_activation_hook و درون تابعی که فراخوانی میکنه عملیاتی که برای غیر فعال سازی پلاگین هست رو تعریف کردید، چرا از هوک register_deactivation_hook استفاده نکردید؟؟؟ من علت این کار رو متوجه نشدم.

دوم اینکه شما کلیه جدول مربوط به این پلاگین رو حذف کردید. اگه شخصی قبلا یک عالمه دیتا داشته باشه روی این جدول ، بعد از غیر فعال سازی و حذف پلاگین فکر کنم کلا اون اطلاعات هم پاک میشن و اگه دوباره هم ان پلاگین رو نصب کنه دیگه اطلاعاتش از بین رفته و چیزی نداره. 

چجور میشه مثل بعضی از پلاگین هایی که وجود داره و حتی با پاک کردن اطلاعات حذف نمیشن و وقتی دوباره افزونه رو نصب میکنیم اطلاعات و تنظیمات دقیقا همون چیزی که انجام دادیم باقی میمونن بدون هیچ مشکلی؟؟

نمیدونم تونستم منظورم رو خوب برسونم یا نه. مثلا افزونه ای مثل گرویتی فرم . چندین فرم باهاش ساخته میشه و حتی اطلاعات هم ذخیره میشه  ولی وقتی ما اون افزونه رو غیر فعال و حذف میکنیم و مجدد میخوایم نصب کنیم بدون هیچ مشکلی اطلاعات و فرم هایی که ساختیم وجود داره و انگار چیزی عملا حذف نشده. ولی تو حالتی که شما گفتید فکر کنم دیگه این امکان وجود نداره. چجور میشه این امکان رو فراهم کرد؟؟؟

 

سلام خدمت شما.

دقت کنید که هوک uninstall باید حتما در داخل activation ثبت بشه تا بتونه مورد استفاده قرار بگیره. هوک uninstall با هوک deactivation فرق می‌کنه.

 

در زمان uninstall بهترین روش حذف جدول‌های ایجاد شده توسط خود پلاگین هست و برای موردی که گفتین حتی بعد از حذف می‌تنه جدول‌ها رو برگردونه. می‌تونه چندین روش داشته باشه مثلا در داخل options اطلاعات جدول‌ها رو ذخیره سازی کنه تا در زمان نصب دوباره از اون اطلاعات استفاده کنه یا مثلا اطلاعات و تنظیمات رو داخل یک فایل ایجاد کنه و تا نصب دوباره اون فایل رو نگهداری کنه. اینها روش هایی هستند که میشه ازشون برای حالت حذف پلاگین هم استفاده کرد.

کیوان علی محمدی ۲۵ خرداد ۱۴۰۰، ۰۴:۴۳

سلام مجدد.نوشتید هوک uninstall با هوک deactivation فرق می‌کنه. تفاوتشون چی هست؟؟؟ هوک deactivation پس به چه کاری میاد؟
 

 

 

احمد اسماعیلی ۲۵ خرداد ۱۴۰۰، ۱۳:۰۳

هوک deactivation زمانی استفاده میشه پلاگین غیر فعال میشه، مثلا فرض کنید در زمان فعال سازی پلاگین از scheduler خود وردپرس برای زمان بندی event‌ها استفاده کردیم، زمانی که این پلاگین میخواد غیر فعال بشه این event‌ها باید حذف بشن، خب اینها کجا حذف میشن؟ داخل هوک deactivation. هوک uninstall زمانی استفاده میشه که کلا بخوایم هر چی پلاگین ما اضافه‌ کرده به وردپرس رو کاملا پاک کنیم، مثل دیتابیس  و تنظیمات رو. 

بهترین پاسخ
کیوان علی محمدی ۲۸ خرداد ۱۴۰۰، ۱۲:۱۴