Archive

رفع خطای Syntax Error در وردپرس

syntax error یکی از متداول‌ترین خطاهایی هست که هنگام بروز‌‌ رسانی قالب، افزونه و یا ایجاد تغییرات دلخواه در وردپرس ممکنه با اون مواجه بشید. syntax error در وردپرس نشون از این دارد که در کدنویسی وردپرس که ممکن است از سمت افزونه‌ها، قالب یا حتی هسته خود وردپرس باشد یک ناهماهنگی به وجود آمده و بخاطر اینکه کدهای برنامه نویسی در وردپرس در جای صحیحی قرار نگرفته با خطای syntax error در وردپرس مواجه خواهید شد. این خطا به صورت برنامه نویسی شده هست و اگر دانش فنی و آشنایی لازم رو با کدنویسی نداشته باشید شاید رفع خطای syntax error در وردپرس کمی پیچیده و زمانبر باشه.

در این آموزش ابتدا به معرفی Parse error در وردپرس می پردازیم و سپس راهکارهایی که با استفاده از اون میتونید مشکل syntax error در وردپرس را برطرف کنید بیان می‌کنیم. پس اگر شما هم در حال حاضر با این خطا مواجه شدید و نمی‌دونید که برای برطرف کردنش باید چه راهی رو دنبال کنید تا انتهای این آموزش همراه ما باشید.

آموزش رفع خطای syntax error

وقتی با ارور syntax error در وردپرس مواجه میشید تصویری مشابه زیر در صفحات پیشخوان وردپرس و یا در کل سایت نمایش داده خواهد شد.

 

قبل از هر چیزی شما باید ابتدا یاد بگیرید که خطای syntax error در وردپرس رو تحلیل کنید و با استفاده از راهنمایی که در خطا وجود داره تا جایی که راه داره با منبع مشکل آشنایی پیدا کنید. مشابه تصویر بالا وقتی این خطا رخ بده اجزای زیر قابل مشاهده هستند.

  • Parse Error: این بخش از پیغام خطا نشون دهنده این هست که برخی کدها و دستورات در وردپرس به خاطر اینکه در جای خودشون قرار نگرفتن، ترتیب سایت رو به هم ریخته و باعث به وجود اومدن خطا شده که در ادامه مسیر و خط اون قطعه کد هم مشخص شده.
  • Unexpected: این خطا بخاطر این نشون داده میشه که ممکنه توابعی که نشون از پایان دادن یک دستور داره را به صورت درست وارد نکردید. در زبان‌های برنامه نویسی مختلف برای انجام یک کار ساده مثل پرینت یک متن یک دستور شروع و یک دستور پایان داریم که کارهایی که باید انجام بگیره درست مثل یک حلقه بین شروع و پایان اون قطعه کد قرار میگیره که در زبان php با استفاده از کاراکترهای ; یا () مشخص میشن. حالا اگر در بین کدهای شما اشتباه تایپی رخ داده باشه یا کلا فراموش کرده باشید که شروع و پایان دستور رو بزنید این خطا داده میشه.
  • آدرس فایل: در ادامه مسیری رو مشاهده می‌کنید که در اینجا مربوط به فایل فانکشن قالب(functions.php) هست که نشون میده خطا در این فایل هست و باید این فایل رو برای اصلاح قطعه دستور برنامه نویسی بررسی کنید.
  • on line: و در نهایت این بخش هم مربوط به شماره خط دستور از فایلی هست که آدرس اون داده شده و با باز کردن فایل که در این مثال فایل فانکشن هست و رفتن به خط 24 میتونید کد رو بررسی و اصلاح کنید.

خب تا اینجا تونستید با استفاده از ارور Syntax Error وردپرس بدونید که منشا خطا از کجاست و تا حدودی نصفی از مسیر رو برای طی کردن مشکل برطرف کنید. حالا برای رفع مشکل باید فایلی که مسیرش مشخص شده رو باز کنید و با رفتن به شماره خط مورد نظر کدهای اون خط رو بررسی کنید. معمولا در اکثر مواقع وقتی این خطا رخ میده، دسترسی به پیشخوان وردپرس برای ویرایش رو ندارید و برای همین باید از طریق FTP یا خود هاست اقدام به ویرایش فایل بکنید.

از اونجایی که استفاده از نرم افزارهای ویرایشگر متن میتونه شماره خط رو بهتون نشون بده و شاید در کنترل پنل هاست که شما دارید این امکان وجود نداره بهتره با استفاده از FTP این کار رو انجام بدین که برای این کار میتونید از مقاله آموزش اتصال ++notepad به هاست سایت استفاده کرده و با اتصال اکانت FTP به هاست خودتون به راحتی قادر باشید به فایل‌ها برای ویرایش و بررسی کدهای خطا دسترسی پیدا کنید.

بعد از اینکه به مسیری که در خطا ذکر شده مراجعه کردید فایل مورد نظر رو باز کرده و به خطی که مشخص شده خطا از اونجاست مراجعه کنید که در این مثال ما باید به مسیر wp-content/themes/twentyseventeen رفته و فایل functions.php رو با کلیک روی دکمه EDIT باز کنیم. سپس به خط 24 این کد رفته و کدهای این خط رو بررسی کنیم و ببینیم که اشکال برنامه نویسی در این خطوط چی هست و با دانشی که دارید اصلاحشون کنید.


غیرفعال کردن افزونه وردپرس

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

بعد از اینکه وارد File Manager هاست شدید به مسیر public_html/wp-content/plugins مراجعه کنید. تو این مسیر تعدادی پوشه وجود داره که هر کدوم از این پوشه‌ها مال یکی از افزونه‌ها هست. برای غیرفعال کردن هر افزونه وردپرس هم کافیه نام پوشه را تغییر بدین. حالا کافیه پوشه افزونه‌ای که بعد از نصب یا آپدیت باعث بوجود اومدن خطای syntax error وردپرس شده رو پیدا کنید و روی پوشه افزونه راست کلیک کنید. سپس نام پوشه افزونه را به اسمی دیگه تغییر بدین(مثلا با اضافه کردن یک عدد به انتهای اون). بعد از کلیک روی دکمه save نام پوشه افزونه تغییر نام پیدا کرده و غیرفعال خواهد شد. حالا مجددا نام قبلی رو برگردونید و به پیشخوان وردپرس برای بررسی افزونه یا استفاده از افزونه مشابه مراجعه کنید.

تغییر پوسته وردپرس

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

بعد از اینکه وارد File Manager هاست شدید به مسیر public_html/wp-content/themes مراجعه کنید. تو این مسیر تعدادی پوشه وجود داره که هر کدوم از این پوشه‌ها مال یکی از قالب‌ها هست. برای غیرفعال کردن قالبی که ازش استفاده میکنید کافیه نام پوشه قالب رو تغییر بدین. حالا کافیه پوشه قالب که بعد از نصب یا آپدیت باعث بوجود اومدن خطای syntax error وردپرس شده رو انتخاب کرده و روی پوشه قالب راست کلیک کنید. سپس نام پوشه قالب را به اسمی دیگه تغییر بدین(مثلا با اضافه کردن یک عدد به انتهای اون). بعد از کلیک روی دکمه save نام پوشه قالب تغییر نام پیدا کرده و غیرفعال خواهد شد. که در این حالت یکی از قالب‌های پیشفرض وردپرس در سایت فعال خواهد شد. حالا مجددا نام قبلی رو برگردونید و به پیشخوان وردپرس برای بررسی قالب مراجعه کنید.

توصیه میکنیم که…

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

سپس به مسیر public_html مراجعه کرده و با راست کلیک کردن روی فایل wp-config.php و انتخاب گزینه Edit کد زیر را در قسمتی که سایر کدهای define قرار داره به این فایل اضافه کنید.

define('DISALLOW_FILE_MODS',true);

با قرار دادن کد بالا در فایل کانفیگ وردپرس و ذخیره فایل امکان ویرایش فایل از طریق وردپرس غیرفعال خواهد شد که منجر به جلوگیری از هک وردپرس میشه.توجه داشته باشید که، قبل از ایجاد هر گونه تغییر در فایل wp-config.php یک نسخه کپی از این فایل تهیه کنید تا اگر اشتباهی موقع غیرفعال کردن ویرایشگر قالب و افزونه در وردپرس پیش اومد بتونید تغییرات رو به حالت قبل برگردونید و مشکلات رو دو چندان نکنید.

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