اگر از خوره های وردپرسی باشید بدون شک تا حالا بارها برایتان پیش آمده که پس از نصب یک افزونه، حسابی کد آن را دستکاری کنید، در نمای آن تغییر ایجاد کنید و خلاصه کاری کنید که با روز اولش حسابی متفاوت شود. خوب این کار خیلی خوب است. در واقع اینکه شما این توانایی را دارید که یک افزونه را برای استفاده ی خود، کاملا سفارشی کنید واقعا عالی است. حالا بیایید فرض کنیم این کار را برای یک مشتری انجام داده اید. وقتی پای خودتان وسط باشد، شاید بتوانید به حافظه ی خود اطمینان کنید، ولی آیا میتوانید اطمینان کنید که اگر به مشتریتان بگویید، هرگز این افزونه را آپدیت نکن چون تمامی سفارشی سازی هایی که رویش انجام شده از بین می رود، او به حرف شما توجه کرده و این کار را انجام نمیدهد؟ جواب شما با کمی منطق، باید منفی باشد.
بنابراین راه حل ما چیست؟ احتمالا بهترین کار این است که یک جوری به خود افزونه بفهمانیم که آقای افزونه، خواهشا حرفی از آپدیت نزن و ما را وسوسه نکن … ! اما از شوخی گذشته، اگر در چنین وضعیتی گیر افتاده اید، راه حل شما بسیار آسان است. کافی است کد زیر را در فایل اصلی افزونه ی مورد نظرتان که مایلید به روز رسانی نشود وارد کرده و آن را ذخیره کنید:
add_filter( 'http_request_args', 'dm_prevent_update_check', 10, 2 ); function dm_prevent_update_check( $r, $url ) { if ( 0 === strpos( $url, 'http://api.wordpress.org/plugins/update-check/' ) ) { $my_plugin = plugin_basename( __FILE__ ); $plugins = unserialize( $r['body']['plugins'] ); unset( $plugins->plugins[$my_plugin] ); unset( $plugins->active[array_search( $my_plugin, $plugins->active )] ); $r['body']['plugins'] = serialize( $plugins ); } return $r; }