WordPress: Ben ikinci "ev" kurtuldum

2 Cevap php

Ben statik bir sayfa yerine, normal mesajlar sayfasına Ana sayfasını ayarlamak hangi bir WordPress sitesi (2.6.2) var. WordPress şablonu ben wp_list_pages bu gibi bakmak değişti böylece bu sayfanın kimliği, 2:

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

Bu iyi çalışır, ancak seçili olduğunda (aslında seçili olduğundan 2 page_id, ve o menüde görünmüyor çünkü) şimdi Ana sayfa "yaktı" almaz. Bu etrafında herhangi bir kolay yolu var mı?

Değilse, geniş hatlarıyla, bu çevrede zor yolu nedir? wp_list_pages fonksiyonunun benim kendi versiyonunu yapmak?

Teşekkürler!

2 Cevap

Ön sayfa olarak statik bir sayfa ayarlama sorunun kalbidir menü bağlantısını vurgulamak doens't.

Bunu seçerseniz Peki, burada ne olabilir sunucu tarafı özelleştirmek (hack) wp_list_pages işlevi, ancak bir istemci tarafı seçeneği bulunuyor:

JQuery kütüphanesi (elverişli bir WP 2.2 + ile gelen) kullanarak, çağrı:

wp_enqueue_script('jquery');

veya kendi sürümünü yüklemek:

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


: Şimdi şablonu javascript biraz, gibi bir şey eklemek

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');
}

a:first bölümü, menüdeki ilk bağlantı ev / frontpage link varsayar. Değilse, href değeri veya pozisyon ile seçeneğini belirleyin. İşte Böl tarafından bulunuyor:

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

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

Örnek:


Uyarılar:

  1. Menü div id gerçek adını kontrol edin (#nav burada gösterilmiştir)
  2. İç içe geçmiş bir ul / li menü yapısı (yani birden fazla seviye) ek kod düzgün seçimi için doğru a eleman gerektirir.
  3. Menü bağlantıları değiştirmek için gidiyoruz eğer, home / ön sayfaya bağlantı href değeri gibi, başka bir kanca kullanmak, pozisyonel seçim tekniği kullanmayın.
  4. Daha fazla varyasyon (https, birden çok alt etki, vb) söz konusu ise if(window.location.href == 'http://www.example.com/ ') kısmı bir regex gerekebilir.

Siz İdaresi ön sayfa olarak statik bir sayfa ayarlayabilirsiniz> Ayarlar> yönetici olarak giriş yaptıktan sonra paneli okuma.

Bu konuda Wordpress manuel giriş bulunabilir here.