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

برای انجام این کار کد زیر را باید در فایل functions.php
قالبتان قرار دهید:
add_filter( 'plugin_action_links', 'betalk_slt_lock_plugins', 10, 4 );
function betalk_slt_lock_plugins( $actions, $plugin_file, $plugin_data, $context ) {
if ( array_key_exists( 'edit', $actions ) )
unset( $actions['edit'] );
if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(
'slt-custom-fields/slt-custom-fields.php',
'slt-file-select/slt-file-select.php',
'slt-widgets/slt-widgets.php'
)))
unset( $actions['deactivate'] );
return $actions;
}
تنها قسمتی که در کد بالا باید ویرایش کنید، لیست افزونه های موردنظرتان است. یعنی این قسمت:
'slt-custom-fields/slt-custom-fields.php',
'slt-file-select/slt-file-select.php',
'slt-widgets/slt-widgets.php'
در این قسمت شما باید نام پوشه افزونه موردنظر و سپس نام فایل اصلی افزونه را با یک اسلش از هم جدا کرده و مانند نمونه وارد کنید. slt-custom-fields
نام پوشه و slt-custom-fields.php
نام فایل اصلی افزونه موردنظر ماست! حال شما می توانید افزونه های موردنظر خودتان را به این صورت لیست کنید.