کوکی چیست؟
کوکی ها بخش های کوچکی از اطلاعات هستند که یک وبسایت روی کامپیوتر شما ذخیره می کنند و تنها حجم کمی متن دربر دارند و این متن می تواند 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 رفرش کنید تا اطلاعات قدیمی فراخوانی نشوند.
- قبل از شروع کار پیشنهاد می شود کوکی مرورگر خود را کاملا پاکسازی کنید.
- در صورتی که با مراحل بالا به نتیجه نرسیدید ، به هاستینگ خود تیکت ارسال کنید .