کد اضافه شده
<?php if(function_exists(‘the_ratings’)) { the_ratings(); } ?>
سلام. نگران نباشید، این مشکل قابل حل است. علت اینکه سایت مجدداً خطا میدهد این است که کد مخرب در دیتابیس شما باقی مانده و به محض فعالسازی مجدد افزونه، دوباره اجرا میشود. برای رفع اصولی و همیشگی مشکل، این دو مرحله را به ترتیب انجام دهید:
مرحله اول: بازگردانی دسترسی به سایت (از طریق هاست)
برای اینکه بتوانید دوباره سایت را بالا بیاورید، باید افزونه را از طریق فایلهای هاست غیرفعال کنید:
وارد کنترل پنل هاست خود (cPanel یا DirectAdmin) شوید و به File Manager بروید.
مسیر wp-content/plugins را باز کنید.
پوشهی code-snippets را پیدا کنید و نام آن را به چیزی مثل code-snippets-off تغییر دهید.
با این کار افزونه غیرفعال شده و سایت شما بلافاصله بالا میآید.
مرحله دوم: حذف قطعهکد مخرب (از طریق دیتابیس)
تا زمانی که کد مخرب در دیتابیس باشد، اگر پوشه را دوباره به نام اصلی برگردانید یا افزونه را فعال کنید، سایت دوباره از دسترس خارج میشود. برای حذف آن:
در پنل هاست خود، گزینه phpMyAdmin را پیدا کرده و وارد شوید.
از لیست سمت چپ، دیتابیس سایت خود را انتخاب کنید.
در میان جداول، جدولی به نام wp_snippets را پیدا کنید (اگر پیشوند دیتابیس شما چیزی غیر از wp_ است، پیشوند آن را ببینید).
روی آن کلیک کنید. در این جدول تمام کدهایی که اضافه کردهاید لیست شدهاند.
ردیفی که مربوط به کد مشکلدار (the_ratings) است را پیدا کنید و دکمه Delete یا Edit را بزنید تا آن کد کلاً از دیتابیس حذف شود.
پس ا اینکه کد را از دیتابیس پاک کردید، حالا میتوانید به فایل منیجر برگردید و نام پوشه code-snippets-off را دوباره به code-snippets برگردانید. حالا افزونه بدون مشکل فعال میشود و سایت شما هم بالا میماند.
اگر ا دیتابیس آشنایی ندارید، این مراحل را مستقیماً برای پشتیبانی هاست خود ارسال کنید؛ آنها در عرض چند ثانیه این کار را برای شما انجام میدهند.
«در مورد کدی که ارسال کردید، باید بگویم که این کد برای نمایش سیستم امتیازدهی (ستارهها) مربوط به افزونه WP-PostRatings است.
علت اصلی مشکل شما:
در کدی که قرار دادید، از کوتیشنهای فارسی یا هوشمند (‘ ’) استفاده شده است. زبان PHP بسیار حساس است و فقط کوتیشنهای استاندارد انگلیسی (' ') را تشخیص میدهد. استفاده از کاراکتر اشتباه باعث توقف کامل سایت (Fatal Error) میشود.
برای اینکه دوباره دچار مشکل نشوید، ابتدا کد قبلی را طبق روشی که در پیام قبل گفتم از دیتابیس پاک کنید و سپس این کد استاندارد را جایگزین کنید:
اگر از افزونه Code Snippets استفاده میکنید، نیازی به گذاشتن تگ باز و بسته PHP یعنی <?php و ?> در ابتدا و انتهای باکس کد نیست (خود افزونه این را مدیریت میکند)، مگر اینکه تنظیمات خاصی انجام داده باشید.
<?php
if ( function_exists( 'the_ratings' ) ) {
the_ratings();
}
?>
همیشه قبل از ذخیره قطعهکدها، از دکمه Safe Mode یا پیشنمایش در این افزونهها استفاده کنید تا اگر کد خطا داشت، سایت شما قفل نشود
سلام
الان چه خطایی دریافت میکنید؟ WP_DEBUG رو فعال کنید تا خطا مشخص شه
کد رو به functions.php قالب اضافه کردید؟