افزونهها و اطلاعات هر سایت بهعنوان یکی از مهمترین داراییهای سایت بهحساب میآید و شما وظیفهدارید بهعنوان مدیر سایت، نهایت تلاش خودتان را برای محافظت از آنها بهکار ببرید. برخی مواقع ممکن است شما بخواهید به فرد دیگری اجازه و دسترسی فعال کردن افزونههای سایت را بدهید اما از غیرفعال شدن افزونهها توسط آن فرد نگران باشید. برای جلوگیری از غیرفعال کردن افزونه توسط مدیران سایت آموزش ما را ببینید.
امروز میخواهیم به شما آموزش دهیم که چطور از غیرفعال شدن افزونههای سایت خود توسط کاربران خود جلوگیری کنید. پس اگر میخواهید دسترسی افراد را به سایت خود کنترل و محدود کنید با این مقاله همراه باشید.
چرا باید از غیرفعال کردن افزونه در سایت جلوگیری کنیم؟
مهمترین دلیلی که شما باید از این قابلیت در سایت خودتان استفاده کنید، نگهداری از افزونهها و سفارشیسازیهایی است که بر روی آن ایجاد کردهاید. مدیران وبسایتها با توسعه کسبوکارشان در برخی مواقع مجبور هستند که به افراد دیگری، برای اعمال تغییرات دسترسی دهند.
این امکان را در نظر بگیرید که ممکن است یکی از افزونههای سایت شما حتی بهاشتباه توسط این فرد غیرفعال میشود و سایت شما با مشکلات جدی مواجه خواهد شد و یا حتی در برخی مواقع عملکرد سایت شما بهکل قطع شود.
روشهای مختلفی برای جلوگیری از غیرفعال کردن افزونه برای شما در وردپرس وجود دارد که ما در این مقاله به آنها اشاره خواهیم کرد و به شما آموزش خواهیم داد بهراحتی این کار را انجام دهید.
جلوگیری از غیرفعال کردن افزونه توسط مدیران سایت
روش اولی که شما میتوانید با استفاده از آن، غیرفعال کردن افزونهها را محدود کنید، نصب افزونههایی است که برای اینکار طراحی شدهاند. یکی از بهترین افزونههایی که میتوانید از آن استفاده کنید، Disable Plugin Deactivation میباشد.
این روش به نسبت روشهای دیگر پیچیدگی کمتری دارد و شما بهراحتی میتوانید از آن استفاده کنید. این پلاگین به افراد این امکان را میدهد که پلاگینها را آپلود و یا فعال کنند، این افزونه تنها دسترسی به غیرفعال کردن افزونه را برای آنها محدود خواهد کرد.
برای گام اول باید این افزونه را از مخزن وردپرس دانلود و بر روی سایت خودتان نصب کنید، در این زمینه نیز میتوانید راهنمای نصب افزونه در وردپرس را مشاهده نمایید.
تنظیمات افزونه Disable Plugin Deactivation
خب حالا شما باید به تنظیمات این افزونه وارد شوید، در این قسمت شما باید گزینه “Disable Plugin Deactivation” را در حالت “Enable” قرار دهید. البته این افزونه قابلیتهای دیگری نیز در اختیار شما قرار خواهد داد، بهعنوانمثال اگر گزینه “Disable Plugin Activation” را در حالت “Enable” قرار دهید، دسترسی افراد به فعال کردن افزونهها را نیز محدود خواهید کرد.
نکته: این افزونه تاکنون به زبان فارسی ترجمه نشده است و شما برای بهره بردن از قابلیتهای آن باید از نسخه انگلیسی آن استفاده کنید.
به این موضوع دقت داشته باشید که بههیچوجه گزینه “Disable Plugin Updates” را در سایتهای مشتریهای خود غیرفعال نکنید، چراکه این کار ممکن است آنها را از فعال کردن افزونههای دیگر منع کند.
بهصورت کلی شما در این صفحه تمامی تنظیمات و پیکربندیهای مربوط به افزونه را مشاهده خواهید کرد و قادر هستید بهدلخواه خود آنها را سفارشی کنید. بعدازاینکه تمامی تغییرات مدنظر خود را انجام دادید، فراموش نکنید که با فشار دادن گزینه “Save Changes” آنها را ذخیره کنید.
بعدازاینکه تمامی موارد بالا را رعایت کردید، با مراجعه به صفحه پلاگینهای سایت مشاهده خواهید کرد که قابلیت، غیرفعال کردن افزونه برای شما از دسترس خارجشده است. این نکته را نیز به خاطر داشته باشید که شما هر زمان که بخواهید میتوانید این قابلیت را از بین ببرید و به کاربران امکان غیرفعال کردن دهید.
جلوگیری از غیرفعال کردن چند پلاگین خاص
در این بخش ما میخواهیم به شما آموزش دهیم که چگونه از غیرفعال کردن یک یا چند افزونه خاص در سایت جلوگیری کنید. البته این نکته را در نظر بگیرید که در این روش برخلاف روش قبلی شما باید در سایت یک سری کد اضافه کنید.
اولین کاری که باید انجام دهید این است که وارد پوشههایی شوید که افزونههای سایت در آن قرار دارند، معمولاً پلاگینها در فایل wp-content ذخیره میشوند. اگر بهحساب کاربریهاست خود وارد شوید میتوانید این پوشه را مشاهده کنید، البته اگر از لوکال هاست استفاده میکنید، برای مشاهده این فایل باید وارد پوشه زمپ یا ممپ خود شوید.
بعد از وارد شدن به این فایل میتوانید پوشه plugins را مشاهده کنید که در آن برای هر یک از افزونههایی که در سایت شما نصبشده است یک پوشه مشاهده کنید.
خب حالا شما باید فایل functions.php یا هر افزونه اختصاصی دیگری را باز کنید و قطعه کد زیر را به آن اضافه کنید.
add_filter( 'plugin_action_links', 'disable_plugin_bistscript_deactivation', 10, 4 );
function disable_plugin_bistscript_deactivation( $actions, $plugin_file, $plugin_data, $context ) {
if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(
'akismet/index.php',
'woocommerce/woocommerce.php'
)))
unset( $actions['deactivate'] );
return $actions;
}
همانطور که مشاهده میکنید ما در قطعه کد بالا دو افزونه ووکامرس و اکیسمت را جایگذاری کردهایم، این مورد تماماً بر عهده شما است و شما باید نام افزونه موردنظر خودتان را در آن قرار دهید. البته هنگام وارد کردن اسم پلاگینها توجه داشته باشید که فرم آن باید بهصورت “akismet/index.php” باشد.
به همین راحتی! حالا میتوانید به صفحه افزونهها در لوکال هاست خود بروید و از غیرفعال بودن این پلاگینها اطمینان حاصل نمایید. همانطور که در تصویر زیر مشاهده میکنید، گزینهی غیرفعال کردن در این صفحه وجود ندارد.
بهصورت کلی ما به شما پیشنهاد میکنیم از این روش برای غیرفعال کردن افزونهها استفاده کنید چراکه در این روش کاربران شما این امکان را خواهند داشت که افزونههای دیگر را غیرفعال کنند و پلاگینهای بسیار مهم سایت شما نیز در امنیت کامل به سر میبرند.
جلوگیری از غیرفعال کردن افزونه بر اساس نقش کاربری
سیستم مدیریت محتوای وردپرس بهصورت پیشفرض دارای نقش کاربر داخلی است، ازجمله این نقشها میتوان به مدیر، ویرایشگر، نویسنده و … اشاره کرد. برای اطلاعات بیشتر در این زمینه میتوانید مقاله نقش کاربران در وردپرس و سطوح دسترسی را در بیست اسکریپت مشاهده کنید.
در تمامی وبسایتها تنها مدیر سایت است که به افزونهها دسترسی دارد، اما شما این امکان را دارید که یک حساب کاربری دیگر نیز ایجاد کنید و به آن یک سری دسترسی دهید، برای هر یک از این نقشها یک سری محدودیت قرار دادهشده است و آنها قادر به انجام تغییرات در زمینههای دیگر نیستند. بهعنوان مثال نویسنده، تنها قابلیت ایجاد تغییرات در محتوا را دارد.
این موضوع میتواند به شما برای جلوگیری از غیرفعال شدن افزونهها توسط افراد دیگر جلوگیری کنید، همچنین شما این امکان را دارید که با استفاده از مجموعهای از کدها، یک نقش کاربری سفارشی ایجاد کنید و به آن امکان ایجاد تغییر در قالب سایت را بدهید، اما این فرد همچنان به غیرفعال کردن افزونهها دسترسی نخواهد داشت.
امیدواریم این مقاله برای شما مفید واقع شده باشد. موفق و سربلند باشید.
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید