السلام عليكم ورحمةالله وبركاته اخواني الكرام كيف حالكم اعمل على دورة ووردبريس الزيرو اطبق لوحدي في الكورس وواجهتني مشكلة وهي
Warning: Attempt to read property "items_wrap" on array in C:\xampp\htdocs\wordpress\wp-content\themes\elzero\wp-bootstrap-navwalker.php on line 122
وهذا هو ملف الnavwalker الموجود لدي اخواني الكرام بارك الله فيكم
لم اعرف الخطا ممكن واحد يتبرع بالشرح بارك الله فيكم
حاليا عناصر القائمة لا تظهر ويظهر هذا الخطا فقط
تفقد السطر التالي في الكود لديك:
$item_output .= $indent . $args->link_before . $item->title . $args->link_after;
فالكائن $args الذي تم تمريره إلى طريقة start_el() يحتوي على خاصية items_wrap، وتلك الخاصية هي سلسلة تستخدم لتغليف محتوى كل عنصر قائمة، والقيمة الافتراضية لتلك الخاصية هي <li>، ولكن إن كانت قيمة الخاصية تحتوي على السلسلة itemscope فإن طريقة start_el() ستحاول قراءة خاصية items_wrap، مما سيؤدي إلى حدوث الخطأ لأن خاصية items_wrap غير موجودة.
عليك إما إزالة السلسلة itemscope من خاصية items_wrap أو تعديل طريقة start_el() حتى لا تحاول قراءة خاصية items_wrap إذا كانت تحتوي على السلسلة itemscope.
وإليك مثال على كيفية تعديل طريقة start_el():
public function start_el( &$output, $item, $depth = 0, $args = null, $id = 0 ) {
if ( false !== strpos( $args->items_wrap, 'itemscope' ) ) {
$this->has_schema = true;
$args->link_before = '<span itemprop="name">' . $args->link_before;
$args->link_after .= '</span>';
}
// ...
}
التعليقات