ترقيم الصفحات في ووردبريس لا يعمل - افعل ذلك!

يعد ترقيم الصفحات في WordPress مفيدًا للغاية في مساعدة الزوار على التنقل في موقعك.

حتى يتم ذلك ، يقومون بالنقر فوق ارتباط للوصول إلى صفحة خطأ 404.

في أحسن الأحوال ، سيكون لصفحة 404 رابط للصفحة الرئيسية.



في أسوأ الأحوال ، لن يكون لديه أي روابط تنقل وستفقد زائر الموقع بسبب ذلك.

عندما تتوقف روابط ترقيم الصفحات في WordPress عن العمل ، فأنت بحاجة إلى العثور على المشكلة وحلها لاستعادة وظائف التنقل في موقعك.

ووردبريس ترقيم الصفحات لا يعمل

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

فهم الترميز الذي يجعل ترقيم الصفحات ممكنًا

يستخدم ترقيم الصفحات على WordPress ترميز PHP. لغة برمجة يمكن كسرها بسهولة بعلامة ترقيم واحدة في المكان الخطأ.

يمكن أن يؤدي أحد الأقواس المتعرجة المفقودة إلى ظهور خطأ 404.

والخبر السار هو أن الرموز الموجودة في جميع السمات تستند إلى نظام الترميز الأساسي لـ WordPress ، لذا من السهل جدًا العثور على الأجزاء التي تجعل ترقيم الصفحات يعمل.

تتم كتابة علامات ترقيم الصفحات بلغة PHP ويتم وضعها في كل قالب صفحة داخل السمة الخاصة بك حيث تظهر روابط ترقيم الصفحات: index.php و archive.php و search.php و single.php و category.php وما إلى ذلك.

عندما لا تعمل روابط ترقيم الصفحات على موقعك ، فهذا هو النموذج الذي يجب النظر إليه للعثور على الشفرة المعطلة.

إذا وجدت أن روابط ترقيم الصفحات مقطوعة عبر موقعك ، فمن المحتمل أن يكون هذا هو النموذج index.php. إذا كانت في صفحات الأرشيف فقط ، فعدِّل قالب ملف archive.php.

الحلقات التي تجعل ترقيم الصفحات يعمل

داخل كل ملف من ملفات قالب الصفحة ، توجد وظيفة حلقة WordPress سيئة السمعة. يبدأ بـ 'while' متبوعًا بـ 'if' وينتهي بـ 'end while'.

الترميز القياسي في ملفات القوالب هو

<?php if (have_posts)() :
while (have_posts()) : the_post();
  get_template_part('content', get_post_format())'
  endwhile;

يتم إغلاق الحلقة في النهاية وهذا هو المكان الذي يتم فيه إدراج روابط ترقيم الصفحات.

 echo paginate_links();
  else:
  echo '<p>No content found</p>

إذا لم يكن 'echo paginate_links' ، فسيكون أحد أكواد ترقيم الصفحات الأخرى ، مثل رابط_مشاركات_السابقة ورابط_المشاركات الأحدث ، وهما عادةً ما يستخدم في نموذج المنشور الفردي حيث يعرض ذلك المنشور الجديد التالي المنشور وآخر منشور تم نشره.

من المهم ملاحظة أن علامات 'روابط الصفحات' لا تعمل إلا إذا كانت ترقيم الصفحات للموضوع الخاص بك.

إذا كنت تستخدم مكونًا إضافيًا ، فستقوم الشفرة باستدعاء علامة النموذج للمكوِّن الإضافي لترقيم الصفحات ، مثل 'get_wp-pagenavi' أو بعض نماذج المكوِّن الإضافي لتقسيم الصفحات.

أبسط الحلول التي يجب تجربتها قبل التحقيق في أخطاء الترميز

الوقت الحقيقي الوحيد الذي يحتمل أن يكون لديك فيه أخطاء في الترميز تتطلب منك تعديل قوالب ملف السمات هو عندما تقوم بتقديم أنواع منشورات مخصصة وتشغيل طلبات 'get' متعددة لتشغيل استعلامات ترقيم الصفحات المخصصة الخاصة بك. هؤلاء يميلون إلى صعوبة التعامل معهم بسرعة.

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

يتعامل مطورو المكونات الإضافية مع إصلاحات الأخطاء ويقومون بتحديث مكون إضافي لإصلاح المشكلة.

إعادة تعيين الروابط الثابتة الخاصة بك

ترقيم الصفحات في WordPress ديناميكي ، بمعنى أنه يعتمد على بنية عنوان URL (عنوان الموقع).

إذا كنت تستخدم بنية رابط ثابت مخصصة مثل٪ category٪ /٪ postname٪ ، فستبحث وظيفة ترقيم الصفحات أولاً عن الفئة ، ثم اسم المنشور.

إذا أسقط المثيل الأول من 'الفئة' عنوان URL ، فستترك بنية عنوان URL الخاص بـ yoursite.com/category-name/page-2 (تفتقد 'الفئة' الأولى في عنوان URL) مما يؤدي إلى رسالة خطأ 404 غير موجود.

يجب أن يكون عنوان URL ...

Yoursite.com/category/category-name/page-2. (أو أيًا كان هيكل الرابط الثابت المخصص لديك).

لإعادة تعيين الروابط الثابتة الخاصة بك ، تحتاج إلى حفظها على أنها أي شيء آخر ، بخلاف إعدادها الحالي ، ثم إعادتها مرة أخرى.

انتقل إلى تغيير 'الإعدادات> الروابط الثابتة' إلى شيء آخر مثل 'عادي' واضغط على 'حفظ التغييرات' ثم أعدها مرة أخرى إلى بنية الرابط الثابت المخصص واحفظ التغييرات مرة أخرى.

يتم إجراء الحفظ المتكرر لإعادة تعيين بنية الرابط الثابت عبر جميع قوالب صفحتك.

تحقق من عدم وجود مكون إضافي يتعارض مع إعدادات القراءة العامة

إذا كنت تستخدم مكوّنًا إضافيًا منشئ الصفحات به وظيفة ترقيم الصفحات ، فيجب أن يتطابق مع إعدادات القراءة العامة.

على سبيل المثال ، باستخدام منشئ صفحة Elementor ، يمكنك إضافة عنصر واجهة مستخدم للمنشورات الحديثة داخل صفحة لعرض قائمة المدونات الخاصة بك ، وترقيم الصفحات (الإصدار المحترف فقط).

ومع ذلك ، إذا كانت الإعدادات في منشئ الصفحة مختلفة عن إعدادات القراءة العامة ، فسيكون هناك تعارض ينتج عنه خطأ 404.

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

بعبارات عامة ، فإن منشئو الصفحات الذين لديهم ترقيم صفحات معين لإظهار 6 مشاركات على الأكثر لن يتجاوزوا إعدادات القراءة العامة التي تم تعيينها على 10.

ستحتاج إلى تغيير كليهما لعرض ست مشاركات (أو أي عدد تريد إظهاره) على الأكثر لتجنب التعارضات في كسر ترقيم الصفحات.

إصلاح تعارضات البرنامج المساعد

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

إصلاح روابط ترقيم الصفحات المقطوعة لأنواع المنشورات المخصصة

تواجه أنواع المنشورات المخصصة نفس المشكلة المتضاربة. يمكنك ترميز نوع منشور مخصص لتضمين ترقيم الصفحات مع وجود قيود على عدد المشاركات المراد عرضها.

ومع ذلك ، إذا كانت إعدادات القراءة العامة مختلفة ، فقد يكون هناك تعارض.

كمثال ، الكود التالي

<?php
 $paged = (get_query_var('paged')) ? get_query_var('paged') : 10;
    query_posts(array(
    'post_type' => 'yourcustomposttypename', // your yourcustomposttypename name
    'paged' => $paged,
    'orderby'=>'date',
    'posts_per_page' => 10 // set this to desired #
 ));
?>

… يدير 'الحصول على متغير استعلام' للصفحات المقسمة إلى صفحات مما يحد من نتائج المشاركة لإظهار 10 على الأكثر. إذا تم تعيين إعدادات القراءة العامة على 6 ، فقد يؤدي التعارض إلى ظهور رسالة خطأ 404 غير موجودة.

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

يجب أن يؤدي إصلاح الترميز المتضارب إلى حل المشكلة.

امسح ذاكرة التخزين المؤقت لرؤية التغييرات

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

إصلاح روابط ترقيم الصفحات المعطلة على صفحة رئيسية ثابتة

في الصفحة الرئيسية الثابتة ، يكون الاختلاف الوحيد عن الأكواد المستخدمة في ترقيم الصفحات هو استخدام 'الصفحة' في صيغة المفرد 'بدلاً من' الصفحات '.

في الصفحة الرئيسية الثابتة ، يحتاج ترقيم الصفحات إلى استخدام متغير 'الصفحة' بدلاً من 'المقسم إلى صفحات' ، والذي يُستخدم فقط للصفحات الديناميكية.