ووردبريس

إضافة قاعدة إعادة كتابة بدون قيمة في get_query_var

تعتبر عملية تحسين الروابط في ووردبريس من الخطوات الأساسية لتحسين تجربة المستخدم وزيادة محركات البحث للصفحات. تهدف العديد من المواقع إلى جعل الروابط أكثر وضوحًا وسهولة في القراءة. في هذا السياق، يواجه بعض المستخدمين مشكلة تتعلق بقيمة المتغيرات الاستعلامية، تحديدًا عند استخدام دالة add_rewrite_rule، حيث تصبح القيم التي تم تمريرها عبر get_query_var فارغة.

كيفية استخدام add_rewrite_rule في ووردبريس

تساعد دالة add_rewrite_rule المطورين على إضافة قواعد جديدة لإعادة كتابة الروابط في ووردبريس. يمكن استخدامها لتبسيط الروابط وتجعلها أكثر ملاءمة للسيو. لكن، على الرغم من عمل عملية إعادة التوجيه بشكل صحيح، قد يجد البعض أن القيم لا تُسترجع بالشكل المتوقع.

على سبيل المثال، يرغب مطور في إعادة كتابة الرابط www.website.com/mypage/?myvariable=fr إلى www.website.com/fr/mypage/. ولتحقيق ذلك، يتم استخدام الكود التالي:

function add_rewrite(){
    flush_rewrite_rules();
    add_rewrite_rule(
        'fr/([a-z0-9-]+)',
        'index.php?pagename=$matches[1]&myvariable=fr',
        'top'
    );
}
add_action('init', 'add_rewrite');

هذا الكود يعمل على إضافة قاعدة تحول اسم الصفحة إلى الهيئة المطلوبة وتحديد القيمة للمتغير myvariable. لكن، قد يتفاجأ المطور بعدم إمكانية استرجاع قيمة myvariable باستخدام get_query_var().

التحديات مع get_query_var

تظهر المشكلة عندما يحاول المستخدم استرجاع قيمة myvariable، والتي تُعتبر فارغة على الرغم من إعدادها في قاعدة إعادة الكتابة. لحل هذه المشكلة، يجب التأكد من تسجيل المتغير myvariable ليكون متاحاً في الاستعلامات.

يمكن ذلك باستخدام الكود التالي:

function add_query_vars($aVars) {
    $aVars[] = "myvariable";
    return $aVars;
}
add_filter('query_vars', 'add_query_vars');

عند إضافة هذا الكود إلى موقع ووردبريس، يتاح للمتغير myvariable أن يظهر في get_query_var(). من المهم الإشارة إلى أن عدم تضمين المتغير في قائمة المتغيرات الاستعلامية قد يكون سببًا وراء عدم استرجاع قيمته.

خطوات إضافية لاستكشاف الأخطاء وإصلاحها

إذا استمرت المشكلة، إليك بعض الخطوات الإضافية التي يمكن اتباعها:

  1. التأكد من صحة الروابط: تأكد أن القواعد التي تم إضافتها صحيحة وأنها لا تتعارض مع قواعد سابقة.
  2. تحديث القواعد: تأكد من تشغيل flush_rewrite_rules() بعد أي تغييرات على قواعد إعادة الكتابة.
  3. تحقق من السجلات: استخدم أدوات تصحيح الأخطاء للتحقق مما إذا كان هناك شيء آخر يمنع القيمة من الظهور.

الخلاصة

تعد دالة add_rewrite_rule ضرورية لتنظيم الروابط في ووردبريس، لكنها قد تتسبب في بعض الأحيان بعدم استرجاع القيم عبر get_query_var(). من خلال التأكد من تسجيل المتغيرات بفعالية، يمكن تجاوز هذه المعوقات وتحسين أداء الموقع.

في النهاية، قد تظهر أمامنا تحديات مختلفة أثناء التلاعب بالروابط في ووردبريس، ولكن يتطلب الأمر فقط بعض الخطوات والمراقبة للتأكد من حدوث العملية بسلاسة.

احمد علي

متخصص في مجال تطوير وإدارة المواقع الإلكترونية، يتمتع بخبرة واسعة في التعامل مع منصات إدارة المحتوى، خاصة ووردبريس. يقدم أحمد حلولاً مبتكرة واستراتيجيات فعالة لتحسين أداء المواقع وتطوير تصميماتها بما يتناسب مع احتياجات المستخدمين. كما يتميز بقدرته على تبسيط المفاهيم التقنية وكتابة محتوى تعليمي يساعد الأفراد والشركات على تحسين تواجدهم الرقمي وتحقيق أهدافهم على الإنترنت.
زر الذهاب إلى الأعلى
Don`t copy text!