کاری که قصد داریم انجام بدهیم این است که از این به بعد قطعه کد هایی که برای سفارشی سازی سایت استفاده می کنیم (snippet ها) را بجای قرار دادن در functions.php در قالب یک پلاگین (اصطلاحا Site Specific Plugin ) در سایت خود قرار دهیم.
اصلا چه دلیلی دارد که بجای ویرایش functions.php، برای خود افزونه بسازیم؟
افزونه و پلاگین ، پاسخ این سوال بسیار ساده است و جواب هایی هم که میتوان به آن ارائه کرد. بسیار مفصل. اما اجازه بدهید تا حد امکان مختصر به این پرسش، پاسخ دهیم.
اولین و ساده ترین دلیل این است که قطعه کد هایی که هر روز به شما آموزش میدهیم. (یا شما در سایت های دیگر با آنها آشنا میشوید. و تصمیم میگیرید از آنها استفاده کنید) در اکثر موارد اصلا ربطی به قالب طراحی سایت در کرج شما ندارند.
و بدیهی است که شما هم دلتان نمیخواهد اگر یک روز قالب وبسایت تان عوض شد. کلیه ی تنظیمات و سفارشی سازی هایی که در طول مدت استفاده از قالب با استفاده از فایل functions.php بر روی سایت تان اعمال کرده بودید را از دست بدهید.
بدیهی است که از هر قالبی هم که استفاده کنید دوست ندارید تنظیماتی که با زحمت بر روی سایت اعمال کرده اید. تا نتایج دلخواه شما حاصل شود، از دست بروند. نمونه ای دیگر از این کد ها و تنظیمات، shortcode هایی است که ممکن است در سایت استفاده کرده باشید! فکر میکنم می توانید لحظه ای را تصور که پس از تغییر قالبتان، دیگر هیچ از shortcode های شما کار نکند …
و اما دلیل دوم
تا حالا چند بار پیش آمده که کدی که در فایل functions.php قرار میدهید ایراد داشته باشد؟ یا مثلا شما آن را در محلی اشتباه در functions.php قرار داده باشید؟ و یا مثلا اشکالی در نحوه ی قرار گیری تگ های شروع و پایان php وجود داشته باشد؟ زیاد؟
پس میدانید میخواهم از چه چیزی صحبت کنم. زمان هایی پیش می آید که بخاطر قرار دادن یک کد اشتباه در functions.php باعث میشوید سایت شما به طور کامل از دسترس خارج شود. و خودتان هم بیرون بخش مدیریت گیر می افتید.
در این حالت باید حتما وارد هاست شده و یا با استفاده از FTP کنترل مسائل را به دست بگیرید. ولی اگر کد جدیدتان را در پلاگینی که مخصوص این کار ایجاد کرده اید قرار دهید، حتی اگر کد شما سراسر ایراد باشد.
خود سیستم وردپرس این مسئله را فهمیده و به سادگی افزونه و پلاگین را غیر فعال میکند. نتیجه می شود اینکه دسترسی شما به مدیریت حفظ میشود. و بلایی هم سر سایت تان نخواهد آمد.
و نکته ی آخر هم اینکه هیچ کس از یک فایل functions.php غول پیکر که معلوم نیست در آن هر چیزی در کجا قرار گرفته است خوشش نمی آید.
بنابراین نتیجه ی استفاده از یک Site Specific Plugin (یا مثلا بهش بگوییم پلاگین کوچولو!) این است که طراحی سایت کرج شما به پایداری بالاتری خواهد رسید. و کارایی آن نیز بهبود خواهد یافت.
چگونه برای خودمان پلاگین بسازیم؟
میبینم که یک نگاه عجیبی در چشمهایتان دنبال یک روش سخت میگردد. و احتمالا دارید فکر میکنید که باید با یک چیز وحشتناک روبرو شوید. ولی اینطور نیست. ساختن افزونه و پلاگین برای وردپرس از چیزی که شما فکر میکنید آسان تر است. برای ایجاد یک پلاگین کافی است به شکل زیر عمل کنید :
1 – در محل نصب افزونه و پلاگین ها در هاستتان یک فولدر با نامی دلخواه برای خود ایجاد کنید. (محل نصب پلاگین ها یعنی wp-content -> plugins) مثلا ما نام فولدرمان را mrcode-plugin گذاشتیم.
2 – یک فایل، همنام با فولدر خود با فرمت php ایجاد کنید. مثلا mrcode-plugin.php و کد زیر را در آن قرار دهید:
در کد بالا میتوانید example.com را با آدرس طراحی سایت در کرج خود عوض کنید.
3 – این فایل را در فولدری که ایجاد کرده بودید آپلود کنید.
یک نکته ی مهم
این که اگر میخواهید از زبان فارسی در افزونه تان استفاده کنید فراموش نکنید. اینکودینگ فایلی که ایجاد میکنید باید utf-8 یا ترجیحا utf-8 without BOM باشد. چنین تنظیماتی را میتوانید از طریق ویرایشگری همچون Notepad++ انجام دهید ولی اگر چنین ویرایشگری ندارید و از cPanel استفاده میکنید، نگران چیزی نباشید، چون کافی است فایلتان را در خود cPanel ایجاد کنید تا ویژگی هایی که از آنها نام بردیم را داشته باشد.
با انجام این کار، از این به بعد میتوانید به سادگی هر گاه که خواستید snippet جدیدی به طراحی سایت در کرج خود اضافه کنید که وابسته به قالب سایت شما نبود، به سادگی به بخش ویرایشگر افزونه ها بروید (منوی افزونه ها، زیر منوی ویرایشگر) افزونه و پلاگین جدیدتان را برای ویرایش انتخاب کنید و کد دلخواهتان را جایی در میان دو خط کامنت شروع پایان (در خط 7 و 8 کد) قرار دهید و تغییرات را ذخیره کنید.
بدیهی است که لازم نیست برای اعمال هر تغییر، افزونه و پلاگین جدید ایجاد کنید و میتوانید چندین snippet را با هم در همین افزونه و پلاگین قرار دهید. البته اگر شرایطی پیش آمد که کد هایی که میخواستید به کار ببرید بسیار طولانی بودند، در آن حالت استفاده از افزونه ای جدید برای این کار، با منطق جور است. بنابراین تصمیم با شماست ولی منطقی تصمیم بگیرید.
بدیهی است که توصیه میکنیم از این به بعد آموزش های مسترکد را به شکلی که امروز به شما آموزش دادیم دنبال کنید و برای کد هایی که ارتباطی با قالب سایت تان ندارند. سراغ functions.php نروید. امیدوارم از این آموزش لذت برده باشید.