خطای Syntax Error (خطای نگارشی) یکی از ترسناکترین اما سادهترین خطاهای وردپرس است. این خطا معمولاً زمانی رخ میدهد که یک اشتباه تایپی کوچک در کدهای PHP سایت وجود داشته باشد (مثل فراموش کردن یک ; یا یک پرانتز }).

زمانی که این خطا رخ میدهد، معمولاً دسترسی شما به پیشخوان وردپرس قطع میشود، بنابراین باید از طریق هاست (cPanel یا DirectAdmin) یا FTP اقدام کنید.
برای هاست وردپرس میتونید از هاست وردپرس میزبان پک که بهترین هاست وردپرس ایرانه اقدام کنی.
۱. خواندن و درک پیام خطا
خوشبختانه، این خطا دقیقاً به شما میگوید مشکل کجاست. پیام خطا معمولاً ساختاری شبیه به این دارد:
Parse error: syntax error, unexpected 'some_code' (T_STRING) in /home/username/public_html/wp-content/themes/my-theme/functions.php on line 72
از این پیام سه اطلاعات مهم دریافت میکنیم:
- نوع خطا: (مثلاً چیزی غیرمنتظره در کد وجود دارد).
- آدرس فایل: (
/themes/my-theme/functions.php) فایلی که باید ویرایش شود. - شماره خط: (
72) دقیقاً جایی که اشتباه رخ داده است.
۲. نحوه دسترسی به فایل برای ویرایش
چون پیشخوان وردپرس باز نمیشود، باید از طریق پنل هاست خود اقدام کنید.
روش کار با File Manager (در cPanel یا DirectAdmin):
- وارد پنل هاست خود شوید.
- روی گزینه File Manager کلیک کنید.
- به پوشه
public_htmlبروید. - مسیر فایلی که در پیام خطا دیدید را دنبال کنید.
- مثال: اگر خطا در
functions.phpقالب بود، به مسیرwp-content->themes->نام قالب شمابروید.
- مثال: اگر خطا در
۳. مراحل رفع خطا (گامبهگام)
سناریوی اول: اگر اخیراً کدی اضافه کردهاید
اگر سعی داشتید کدی را از اینترنت به فایل functions.php اضافه کنید و بلافاصله سایت خراب شد:
- در File Manager روی فایل مورد نظر راست کلیک کرده و گزینه Edit را بزنید.
- به شماره خطی که در خطا ذکر شده بود بروید.
- کدی که اضافه کرده بودید را کاملاً حذف کنید.
- فایل را ذخیره کنید (Save Changes).
- سایت را رفرش کنید؛ مشکل باید حل شده باشد.
سناریوی دوم: اگر کد را لازم دارید (اصلاح کد)
اگر میخواهید کد بماند، باید اشتباه تایپی را پیدا کنید. رایجترین اشتباهات عبارتند از:
- فراموش کردن نقطه ویرگول (semicolon): در PHP، پایان هر دستور باید
;باشد.- غلط:
$var = 10 - صحیح:
$var = 10;
- غلط:
- نبستن رشتههای متنی:
- غلط:
echo "Hello World; - صحیح:
echo "Hello World";
- غلط:
- تداخل کوتیشنها: استفاده از
'داخل'بدون کاراکتر گریز. - زیاد یا کم بودن آکولادها: تعداد
{و}باید برابر باشد.
۴. اگر خطا بعد از آپدیت افزونه رخ داد
گاهی اوقات آپدیت ناقص یک افزونه باعث این خطا میشود. در این صورت شما نمیتوانید کد افزونه را به راحتی ویرایش کنید. بهترین کار غیرفعال کردن دستی افزونه است:
- در File Manager به مسیر
wp-content/pluginsبروید. - پوشه افزونهای که در پیام خطا ذکر شده بود را پیدا کنید.
- نام پوشه را تغییر دهید (مثلاً به آخر آن
_oldاضافه کنید).- مثال:
elementorتبدیل شود بهelementor_old.
- مثال:
- این کار باعث میشود وردپرس آن افزونه را غیرفعال کند و سایت بالا بیاید.
نکات پیشگیری برای آینده
- استفاده از افزونه Code Snippets: هرگز کدهای سفارشی را مستقیماً در
functions.phpویرایش نکنید. از افزونه رایگان Code Snippets استفاده کنید. این افزونه اگر خطای Syntax ببیند، اجازه ذخیره کردن نمیدهد و سایت شما هرگز خراب نمیشود. - بکاپ بگیرید: قبل از هر ویرایشی در کدهای PHP، یک کپی از فایل اصلی روی کامپیوتر خود دانلود کنید.
- استفاده از Child Theme: اگر فایلهای قالب را ویرایش میکنید، حتماً از پوسته فرزند (Child Theme) استفاده کنید تا با آپدیت قالب، تغییرات شما از بین نرود.
