افزودن کد سفارشی به وردپرس بدون خرابی سایت
- افزونه وردپرس
- بروزرسانی شده در

شاید برای ایجاد یک تغییر در وردپرس، قطعه کدی پیدا کرده باشید، ولی ندونید باید اون رو کجای سایت بذارید. ویرایش مستقیم فایلهای قالب، مخصوصاً فایل functions.php، ممکنه سایتتون رو از دسترس خارج کنه. حتی اگه مشکلی هم پیش نیاد، احتمال داره کدتون بعد از آپدیت قالب پاک بشه.
توی این مقاله از میهن وردپرس یاد میگیرید چطور افزودن کد سفارشی به وردپرس رو با افزونه Code Snippets انجام بدید. از نصب افزونه و ساخت اسنیپت شروع میکنیم، بعد سراغ انتخاب محل اجرای کد، مدیریت خطا با Safe Mode و انتقال کدها به یک سایت دیگه میریم.
آنچه در این مقاله میخوانید
افزودن کد سفارشی به وردپرس چه کاربردی داره؟
وردپرس با کمک قالبها و افزونهها امکانات زیادی در اختیارتون میذاره. ولی گاهی برای یک تغییر کوچک، مثل حذف یک قابلیت یا عوضکردن رفتار سایت، استفاده از یک قطعه کد کوتاه منطقیتر از نصب یک افزونه جداست.
به این قطعه کد کوتاه، «اسنیپت» یا Code Snippet میگن. یک اسنیپت ممکنه با PHP، HTML، CSS یا JavaScript نوشته شده باشه. قبل از استفاده، حتماً زبان کد و منبعش رو بررسی کنید؛ چون یک کد ناشناس میتونه امنیت یا عملکرد سایتتون رو به خطر بندازه.
چرا ویرایش مستقیم functions.php خطرناکه؟
فایل functions.php بخشی از قالب وردپرسه. حتی یک اشتباه نگارشی کوچک داخل این فایل ممکنه خطای جدی درست کنه و دسترسی به پیشخوان رو ازتون بگیره. کدی که به قالب اصلی اضافه میکنید، ممکنه بعد از آپدیت قالب هم پاک بشه.
اگه کد واقعاً به ظاهر یا ساختار همون قالب مربوطه، بهتره از قالب فرزند استفاده کنید. قالب فرزند یک نسخه جدا برای شخصیسازی قالبه و کمک میکنه تغییراتتون بعد از آپدیت قالب اصلی باقی بمونن. برای قابلیتهایی که به ظاهر قالب ربطی ندارن، افزونه اختصاصی یا Code Snippets انتخاب مرتبتریه.
اضافه کردن کد سفارشی با افزونه Code Snippets

Code Snippets افزونهای برای ذخیره، دستهبندی و اجرای قطعهکدهاست. نسخه رایگان اون از مخزن رسمی وردپرس نصب میشه و برای مدیریت اسنیپتهای PHP و HTML کاربرد داره. امکاناتی مثل نوعهای اختصاصی CSS و JavaScript، شرطهای نمایش و تاریخچه نسخهها هم در Code Snippets Pro ارائه میشن.
طبق اطلاعات مخزن رسمی در زمان بهروزرسانی این مقاله، افزونه بیشتر از یک میلیون نصب فعال داره، حداقل به وردپرس ۵.۵ و PHP ۷.۴ نیاز داره و نسخه ۴.۰.۰ اون منتشر شده. این اطلاعات با انتشار نسخههای تازه عوض میشن، پس بهتره قبل از نصب، مشخصات افزونه رو در مخزن وردپرس هم ببینید.
آموزش نصب و کار با Code Snippets
اول از پیشخوان وردپرس به «افزونهها ← افزودن افزونه تازه» برید. عبارت Code Snippets رو جستوجو کنید، افزونه رو نصب کنید و بعد روی «فعالسازی» بزنید. اگه قبلاً افزونهای نصب نکردهاید، آموزش نصب افزونه در وردپرس کل مسیر رو بهتون نشون میده.

بعد از فعالسازی، منوی Snippets به پیشخوان اضافه میشه. توی این بخش میتونید اسنیپتهای ذخیرهشده رو ببینید، وضعیت فعال یا غیرفعال بودنشون رو بررسی کنید و به گزینههای مدیریتی هرکدوم دسترسی داشته باشید.

ساخت اولین اسنیپت
برای ساخت یک کد تازه، از منوی Snippets روی Add New بزنید. بعد یک عنوان واضح بنویسید؛ مثلاً «حذف نوار مدیریت برای کاربران عادی». عنوان روی عملکرد کد اثری نداره، ولی کمک میکنه بعداً کد موردنظرتون رو سریعتر پیدا کنید.

حالا نوع اسنیپت رو با توجه به کدی که دارید انتخاب کنید و کد رو داخل بخش Code بذارید. اگه اسنیپت PHP با برچسب آغازین <?php در اختیارتون قرار گرفته، راهنمای داخل ویرایشگر افزونه رو بخونید تا ببینید باید این برچسب رو حذف کنید یا نه. هیچ کدی رو هم بدون شناخت منبع و کاربردش فعال نکنید.
بخش Description برای نوشتن توضیحات کده. بهتره منبع کد، دلیل استفاده و تاریخ اضافهکردنش رو اینجا ثبت کنید. با Tag یا برچسب هم میتونید اسنیپتهای مشابه رو کنار هم نگه دارید. مثلاً برچسب «ووکامرس» برای کدهای مربوط به فروشگاه انتخاب خوبیه.

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

قبل از فعالسازی کد این نکات رو جدی بگیرید
- از فایلها و پایگاه داده سایتتون یک نسخه پشتیبان تازه بگیرید.
- کد رو فقط از یک منبع معتبر بگیرید و مطمئن بشید با نسخه فعلی وردپرس و PHP سایتتون سازگاره.
- اگه براتون ممکنه، کد رو اول روی سایت آزمایشی یا Staging امتحان کنید. سایت آزمایشی یک نسخه جدا از سایت اصلیه و بازدیدکنندهها تغییرات اون رو نمیبینن.
- هر بار فقط یک تغییر رو فعال کنید. اینطوری اگه مشکلی پیش بیاد، علت اون رو راحتتر پیدا میکنید.
مدیریت خطا با Safe Mode
Code Snippets بعضی خطاها رو تشخیص میده، ولی هیچ افزونهای نمیتونه امنبودن همه کدها رو تضمین کنه. یک اسنیپت خراب هنوز هم ممکنه سایت یا پیشخوان رو از دسترس خارج کنه. پس ذخیرهکردن کد داخل این افزونه، جای نسخه پشتیبان و آزمایش دقیق رو نمیگیره.
اگه بعد از فعالکردن یک اسنیپت سایت با خطا روبهرو شد، از Safe Mode در مستندات Code Snippets کمک بگیرید. Safe Mode یعنی اجرای اسنیپتها موقتاً متوقف میشه تا بتونید وارد پیشخوان بشید و کد مشکلدار رو غیرفعال کنید. این حالت از طریق یک نشانی مخصوص یا تنظیمی در فایل wp-config.php فعال میشه. برای دیدن روش دقیق و فعلی، مستندات رسمی رو دنبال کنید.
اگه خطا بعد از آپدیت وردپرس، قالب یا افزونهها شروع شده، راهنمای رفع مشکل بعد از آپدیت وردپرس هم کمکتون میکنه علت رو قدمبهقدم پیدا کنید.
مدیریت اسنیپتهای سفارشی
لازم نیست همه اسنیپتهایی که ذخیره کردهاید فعال باشن. میتونید کدها رو برای استفاده بعدی نگه دارید و هر وقت لازم بود، اونها رو فعال یا غیرفعال کنید. جستوجو، برچسبگذاری و نماهای مدیریتی افزونه هم کمک میکنن کد موردنظرتون رو راحتتر پیدا کنید.

خروجی گرفتن و انتقال اسنیپتها
برای انتقال اسنیپتها به یک سایت دیگه، اول از بخش مدیریت افزونه خروجی بگیرید. بعد در سایت مقصد به Snippets و بخش Import برید، فایل خروجی رو انتخاب کنید و درونریزی رو انجام بدید. قبل از فعالکردن کدها در سایت مقصد، یادتون نره سازگاری اونها رو با قالب، افزونهها و نسخه PHP همون سایت بررسی کنید.

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

جمعبندی
برای افزودن کد سفارشی به وردپرس، Code Snippets کار مدیریت کدها رو نسبت به ویرایش مستقیم فایلهای قالب راحتتر میکنه. ولی این افزونه نمیتونه یک کد ناسالم رو به کدی امن تبدیل کنه. قبل از فعالسازی، نسخه پشتیبان بگیرید، کد رو روی یک سایت آزمایشی امتحان کنید، محل اجرای مناسب رو انتخاب کنید و روش استفاده از Safe Mode رو هم یاد بگیرید.
آیا افزونه Code Snippets رایگانه؟
نسخه رایگان Code Snippets از مخزن رسمی وردپرس نصب میشه و برای مدیریت اسنیپتهای PHP و HTML کاربرد داره. بعضی امکانات پیشرفته مثل نوعهای اختصاصی CSS و JavaScript، شرطهای نمایش و تاریخچه نسخهها در نسخه Pro قرار دارن.
Code Snippets بهتره یا فایل functions.php؟
برای کدهایی که به قالب وابسته نیستن، Code Snippets مدیریت و جابهجایی کد رو راحتتر میکنه. اگه کد به ساختار یک قالب خاص مربوطه، بهتره اون رو با رعایت نکات ایمنی داخل قالب فرزند بذارید.
اگه یک اسنیپت سایت رو خراب کرد، چه کاری انجام بدیم؟
اول با Safe Mode اجرای اسنیپتها رو موقتاً متوقف کنید و بعد کد مشکلدار رو غیرفعال کنید. اگه به پیشخوان دسترسی ندارید، روش فعالسازی Safe Mode از طریق نشانی مخصوص یا فایل wp-config.php رو در مستندات رسمی Code Snippets دنبال کنید.

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