وورد:لقد تخلصت من الصفحة "الرئيسية" الثانية، لكنها ليست جيدة بما فيه الكفاية

StackOverflow https://stackoverflow.com/questions/219870

  •  03-07-2019
  •  | 
  •  

سؤال

لدي موقع WordPress (2.6.2) قمت فيه بضبط الصفحة الرئيسية على صفحة ثابتة بدلاً من صفحة المنشورات العادية.معرف هذه الصفحة هو 2، لذا في قالب WordPress قمت بتغيير wp_list_pages لتبدو هكذا:

<?php wp_list_pages('exclude=2&title_li=&depth=1' ); ?>

يعمل هذا بشكل جيد، ولكن الآن لا يتم "إضاءة" الصفحة الرئيسية عند تحديدها (لأنه في الواقع page_id 2 هو المحدد، ولا يظهر في القائمة).هل هناك أي طريقة سهلة للتغلب على هذا؟

إذا لم يكن الأمر كذلك، في الخطوط العريضة، ما هي الطريقة الصعبة للتغلب على هذا؟اصنع نسختي الخاصة من wp_list_pages وظيفة؟

شكرًا!

هل كانت مفيدة؟

المحلول

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

لذلك، يمكنك تخصيص (اختراق) وظيفة wp_list_pages من جانب الخادم، ولكن إليك خيارًا من جانب العميل إذا اخترت ذلك:

استخدم مكتبة jQuery (التي تأتي بشكل ملائم مع WP 2.2+)، اتصل:

wp_enqueue_script('jquery');

أو قم بتحميل نسختك الخاصة:

wp_enqueue_script( 'jquery', '/path/to/your/jquery.js', false, '1.2.1');

أضف الآن القليل من جافا سكريبت في القالب الخاص بك، مثل:

if(window.location.href == 'http://www.example.com/'){ //checks for root path - "home" ('http://www.example.com/?p=7' or 'http://www.example.com/2008-10/7' will not match)
    jQuery('#nav > ul > li > a:first').addClass('current_page_item');
}

ال الاول يفترض الجزء أن الرابط الأول في قائمتك هو رابط الصفحة الرئيسية/الصفحة الأولى.إذا لم يكن الأمر كذلك، فحدد عبر قيمة href أو الموضع.وهنا عن طريق المنصب:

~~~~~~~~~~~~~~~

jQuery(jQuery('#nav > ul > li > a')[3]).addClass('current_page_item'); //add 'current_page_item' css class so menu item highlighting occurs

مثال:

<div معرف = "التنقل" >

<ul>
<li > <a >الرابط 0 </a > </li >
<li > <a>الرابط 1 </a > </li >
<li > <a>الرابط 2 </a > </li >
<li > <a>الرابط 3 </a > </li >
<li > <a>الرابط 4 </a > </li >
<li > <a>الرابط 5 </a > </li >
</ul>

</ديف>


تحفظات:

  1. تحقق من الاسم الفعلي لمعرف قسم القائمة الخاص بك (#التنقل يظهر هنا)
  2. سوف تتطلب بنية قائمة ul/li المتداخلة (أي أكثر من مستوى واحد) تعليمات برمجية إضافية لتحديد المستوى الصحيح بشكل صحيح أ عنصر.
  3. إذا كانت روابط القائمة ستتغير، فلا تستخدم أسلوب التحديد الموضعي، بل استخدم ربطًا آخر، مثل قيمة href للرابط إلى الصفحة الرئيسية/الصفحة الأولى.
  4. ال إذا (window.location.href == 'http://www.example.com/') قد يحتاج الجزء إلى أن يكون تعبيرًا عاديًا إذا كان هناك المزيد من الاختلافات (https، نطاقات فرعية متعددة، وما إلى ذلك).

نصائح أخرى

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

ويمكن العثور على الإدخال اليدوي وورد على هذا الموضوع هنا .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top