Simoh نشر 17 نوفمبر 2015 أرسل تقرير نشر 17 نوفمبر 2015 أحاول من مدة عمل فلترعن طريق مصفوفة على ووردبريس، بالشكل التالي:$non_area_page = array(160951,160955); // هذه لا تعمل add_filter( 'term_link',change_term_name , 10, 3 ); function change_term_name( $termlink, $term, $taxonomy ) { /*If on page */ if(is_page()){ $current_id = get_queried_object_id(); $current_post = get_post($current_id); $slug = $current_post->post_name; if(!in_array($current_id,$non_area_page)) // array is defined in start of code above $termlink = esc_url( add_query_arg( ['tag' => $slug], $termlink ) ); } return $termlink; }وأحصل على الخطأ التالي:Warning: in_array() expects parameter 2 to be array, null givenلكن عند تمرير المصفوفة بشكل مباشر، يعمل الكود:add_filter( 'term_link',change_term_name , 10, 3 ); function change_term_name( $termlink, $term, $taxonomy ) { /*If on page */ if(is_page()){ $current_id = get_queried_object_id(); $current_post = get_post($current_id); $slug = $current_post->post_name; if(!in_array($current_id,array(160951,160955))) // المصفوفة مُررت بشكل مباشر $termlink = esc_url( add_query_arg( ['tag' => $slug], $termlink ) ); } return $termlink; }هل هذا الخطأ متعلق بكيفية تعريف المصفوفة؟ أين هو الخطأ؟ اقتباس
0 E.Nourddine نشر 17 نوفمبر 2015 أرسل تقرير نشر 17 نوفمبر 2015 (معدل) بالنسبة للدوال -functions- على لغة php لا يمكن تعريف متغير ثم استعماله داخل الدالة، وهذا من أساسيات اللغة.لذا من السهولة تمرير قيم أثناء إنشاء الدالة أو مايصطلح عليه بـ parameters، حيث تلقبل الدالة هذه القيم أثناء استعمالها، بحيث تستعمل هذه القيم داخلها بالشكل الذي يعطي في آخر الأمر نتيجة . هذا مثال عن دالة مع parameters:<?php function add_some_extra(&$string) { $string .= ', et un peu plus.'; } $str = 'Ceci est une chaîne'; add_some_extra($str); echo $str; // 'Ceci est une chaîne, et un peu plus.' تُظهر <= ?>ولحل المشكل المتعلق بك على ووردبريس استعمل دالة معرفة بشكل مًجمل global بهذا الشكل :funtion get_global_array() { // 1, 2 , 3 ارجاع القيم return [1, 2, 3]; }عن طريق:get_global_array()يمكن استعمال الدالة في أي مكان من الصفحة. تم التعديل في 17 نوفمبر 2015 بواسطة E.Nourddine اقتباس
السؤال
Simoh
أحاول من مدة عمل فلترعن طريق مصفوفة على ووردبريس، بالشكل التالي:
وأحصل على الخطأ التالي:
لكن عند تمرير المصفوفة بشكل مباشر، يعمل الكود:
هل هذا الخطأ متعلق بكيفية تعريف المصفوفة؟ أين هو الخطأ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.