Ben Twitter Bootstrap ve menü bağlantı etiketine data-toggle = "modal" özniteliği eklemeniz gerekir. Arama sonuçlarının çoğunda referans Twitter Bootstrap açılır menüler için bir yürüyüş yapıyor ancak bu menü hiçbir açılan vardır ve ben sadece belirli bir özellik eklemeniz gerekir.
Sonra bunu buldum: WordPress 3.6 + 'da göründüğü gibi çok yararlı olan eklentisiz menü öğelerine özel özellikler ekleyin , artık uzun karmaşık yürüyüşçüler yapmak zorunda değiliz ve bunun yerine bunu kullanabiliriz: http://codex.wordpress.org/Plugin_API / Filter_Reference / nav_menu_link_attributes
Bununla birlikte, bu çalıştırmadan sonra bu API referansı oldukça çıplaktır ve hiçbir örnek sunmaz ve çok yeni olduğu için Google'da çok az referans vardır.
Önce bunu denedim:
add_filter( 'nav_menu_link_attributes', 'mywp_contact_menu_atts', 10, 3 );
function pb_contact_menu_atts( $atts, $item, $args )
{
// inspect $item, then …
$atts['data-toggle'] = 'modal';
return $atts;
}
ve bu beklendiği gibi çalışır, ancak beklendiği gibi menüdeki tüm etiketlere öznitelik ekler. Bu yüzden # menu-item-7857 a veya benzeri bir menü öğesini nasıl hedefleyeceğimizi anlamaya çalışıyorum.
Bir menü öğesini hedefleme örneğini nerede bulacağını veya yukarıdaki bağlantılı API referansındaki bilgilere nasıl dayanacağını belirleyebilen var mı?
Not etmek gerekirse, aşağıdaki bir örneği buldum, ancak sadece yardımcı olmayan ancak doğru yönde olabilecek çocukları olan öğeleri hedefliyor:
add_filter('nav_menu_link_attributes', function($atts, $item, $args) {
if ( $args->has_children )
{
$atts['data-toggle'] = 'dropdown';
$atts['class'] = 'dropdown-toggle';
}
return $atts;
}, 10, 3);
GÜNCELLEME - Aşağıdaki tek yanıt, bir şeye benziyor gibi geliyor, ancak belirli bir bağlantımı hedeflemek için sayıyı gerçekten nasıl bulacağını ve çalışan bir örneğe bu koşullu durumu nereye / nasıl ekleyeceğini belirleyemedi. Bir yorum ekledi ama duymadım. Yaklaşık 18 gündür bir ödülün yardım edip etmeyeceğini düşündüm.
Hedeflemek istediğiniz bağlantı için koda baktığımda:
<li id="menu-item-7858" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7858"><a href="#" data-toggle="modal">Chat</a></li>
7858 sayısını görüyorum, bu yüzden belki de hedeflemem gereken sayı bu.
Ama örneğin denediğimde:
add_filter( 'nav_menu_link_attributes', 'my_chat_menu_atts', 10, 3 );
function my_chat_menu_atts( $atts, $item, $args ) {
if ( 7857 == $item['ID'] ) {
// inspect $item, then …
$atts['onclick'] = 'SnapEngage.startLink();';
return $atts;
}
}
Ancak bir yorumcu önerisini ifade eğer aşağıdaki hatayı alıyorum ekleyerek:
Fatal error: Cannot use object of type WP_Post as array
Daha fazla kod gerekli ama bir kayıp varsayalım. İf ifadesi olmadan bir hatırlatma olarak, ancak hedeflemek istediğim tek bağlantı yerine tüm bağlantıları hedefler.