- الحالة
- محلولة
- تم حلها في
- WPML 4.9
- وسوم الموضوع
- Bug
نظرة عامة على المشكلة
يضبط بعض المستخدمين مواقعهم لحظر طلبات REST API غير المصادق عليها.
في هذه الحالة، قد تجد أن WPML تبلّغ بأن الموقع لا يستوفي الحد الأدنى من المتطلبات نظراً لتعذر الوصول إلى نقطة نهاية REST API الاختبارية، وأنه لا يمكن إخفاء لافتات التحذير الموجودة في صفحة WPML > الدعم وفي القائمة المنسدلة لشريط أدوات لوحة تحكم WPML.
حل بديل مؤقت
إلى أن يتم إصلاح هذه المشكلة، يمكن إزالة الإشعار عن طريق تعديل الملف sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/SharedKernel/Server/Application/WordPressRestApiStatus.php
حدد موقع هذه الأسطر (من السطر 70):
// Add basic authentication if present
if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) {
$args['headers']['Authorization'] =
'Basic ' . base64_encode( $_SERVER['PHP_AUTH_USER'] . ':' . $_SERVER['PHP_AUTH_PW'] );
}
ثم أضف هذين السطرين (2) بعدها مباشرة:
// Add authentication from cookies
$args['cookies'] = $_COOKIE;
سيؤدي ذلك إلى إضافة المصادقة اللازمة إلى الطلب الذي يختبر REST API.