حل ارور کوکی زمان ورود به وردپرس
حل ارور کوکی زمان ورود به وردپرس

حل ارور کوکی زمان ورود به وردپرس

کوکی چیست؟

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

وردپرس (اسکریپت مدیریت محتوای رایگان) در عین انعطاف پذیر بودن ، حساسیت بالایی دارد و با جابجایی یک حرف در یکی از کدها ممکن است سایت شما از کار بیافتد! یکی از مشکلاتی که شاید برای شما هم پیش آمده باشد ، خطای کوکی های مرورگر است .

خطای Cookie می تواند به دو دلیل عمده اتفاق افتد که یکی از آنها تنظیم نبودن مرورگر در حال استفاده و دیگری استفاده از افزونه ها است. اما در عین حال میتواند از پوسته ی در حال استفاده نیز سرچشمه گرفته باشد! ابتدا کمی توضیحات بدهیم و سپس به راه حل خواهیم پرداخت .

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

اما گاهی اوقات این کوکی مرورگر فعال است ولی باز هم وردپرس ایراد می گیرد ! و آنجاست که باید فکر کنید چه افزونه ای نصب کرده اید ؟ اکثر افزونه هایی که یا برای تغییر نام پیشخوان و wp-admin استفاده می شوند و یا جهت تغییرات در محیط پیشخوان ، باعث می شوند شاخه ی کوکی ها تغییر کند. افزونه هایی که سازگاری کامل با وردپرس ۳.۹ به بالاتر را ندارند چنین مشکلی را به همراه خواهند داشت.

 

شاید هم شما افزونه ی تغییر آدرس مدیریت را نصب نکرده باشید و مورد آخر که باید به ذهن شما خطور کند فایل توابع پوسته است. فایل Functions.php شامل دستوراتی است که میتوانید سایت و حتی پیشخوان را با آن ویرایش کنید . مهم ترین و حساس ترین فایل یک پوسته functions.php است که در صورت عدم دقت در کدنویسی و ویرایش این فایل باعث خرابی کل سایت و پیشخوان می شود . در این فایل امکان دارد دستوراتی مبنی بر تغییرات روند کوکی برداری وجود داشته باشد !

ابتدا بد نیست بدانید تمامی این آتش ها زیر سر کد زیر واقع در فایل wp-login.php و خط ۷۶۴ است !

// if ( isset($_POST[‘testcookie’]) && empty($_COOKIE[TEST_COOKIE]) )
// $user = new WP_Error(‘test_cookie’, __(“<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href=’http://www.google.com/cookies.html’>enable cookies</a> to use WordPress.”));
// else
$user = wp_signon(, $secure_cookie);

 

برای شروع کار نام پوشه ی پوسته ی در حال استفاده را تغییر دهید . (برای اینکار وارد هاست و فایل منیجر شوید) میتوانید برای غیرفعال کردن پوسته به آخر نام پوشه ی آن عدد ۰ یا حرف و عدد دلخواه خود را اضافه کنید .

اکنون پیشخوان خود را باز کنید و سعی کنید وارد شوید . در صورتی که موفق به وارد شدن شدید ، مشکل از فایل functions.php پوسته ی شماست . این فایل را باز کنید و کد زیر را درون آن قرار دهید :

//fix for cookie error while login.
function set_wp_test_cookie() {
setcookie(TEST_COOKIE, ‘WP Cookie check’, 0, COOKIEPATH, COOKIE_DOMAIN);
if ( SITECOOKIEPATH != COOKIEPATH )
  setcookie(TEST_COOKIE, ‘WP Cookie check’, 0, SITECOOKIEPATH, COOKIE_DOMAIN);
}
add_action( ‘after_setup_theme’, ‘set_wp_test_cookie’, 101 );

در صورتی که داخل این فایل از حروفی فارسی ، حتی یک حرف استفاده کرده باشید باید انکودینگ آن را روی utf-8 withOut BOM بگذارید . برای استفاده از این نوع انکودینگ نرم افزار NotePad++ را نصب کنید و بعد از تغییر انکودینگ فایل ، آن را مستقیما داخل هاست آپلود کنید .

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

 

و در آخر….

  • البته فراموش نکنید که کوکی مرورگر خود را نیز کنترل کنید که فعال است یا غیرفعال .
  • در تمامی مراحل ، حتما برگه ی ورود به پیشخوان خود را با Ctrl + F5 رفرش کنید تا اطلاعات قدیمی فراخوانی نشوند.
  • قبل از شروع کار پیشنهاد می شود کوکی مرورگر خود را کاملا پاکسازی کنید.
  • در صورتی که با مراحل بالا به نتیجه نرسیدید ، به هاستینگ خود تیکت ارسال کنید .

تیم آقای وردپرس

تیم تولید محتوا و پشتیبانی سایت آقای وردپرس

دیدگاهتان را بنویسید