Sono Twitter Bootstrap e devo aggiungere l'attributo data-toggle = "modal" al collegamento a tag del menu. Durante la ricerca della maggior parte dei risultati, fare riferimento ai menu a discesa Bootstrap di Twitter, tuttavia questo menu non ha menu a discesa e ho solo bisogno di aggiungere l'attributo particolare.
Successivamente ho trovato questo: aggiungere attributi personalizzati alle voci di menu senza plug-in che è molto utile come appare in WordPress 3.6+ non dobbiamo più fare camminatori complessi lunghi e invece possiamo usare questo: http://codex.wordpress.org/Plugin_API / Filter_Reference / nav_menu_link_attributes
Tuttavia, a partire da questo momento, il riferimento all'API è piuttosto scarso e non offre esempi e poiché è così nuovo, Google ha pochissimi riferimenti ad esso.
Ho provato prima questo:
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;
}
e che funziona comunque, come previsto, aggiunge l'attributo a tutti i tag a nel menu. Quindi sto cercando di capire come scegliere come target una voce di menu con # menu-item-7857 a o simili.
Qualcuno sa dove trovare un esempio di targeting di una voce di menu o in grado di determinare come basare sulle informazioni che si trovano nel riferimento API collegato sopra?
Da notare, ho trovato il seguente esempio, ma si rivolge solo a elementi che hanno figli che non aiutano ma che potrebbero essere nella giusta direzione:
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);
AGGIORNAMENTO - L'unica risposta di seguito suona come se fosse su qualcosa ma da esso non è stato in grado di determinare come trovare effettivamente il numero per indirizzare il mio link specifico e dove / come aggiungere quel condizionale in un esempio funzionante. Aggiunto un commento ma non ho avuto risposta. Da circa 18 giorni ho pensato di vedere se una taglia avrebbe aiutato.
Quando guardo il codice per il link che voglio targetizzare:
<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>
Vedo il numero 7858 quindi pensando che forse è il numero che dovrei prendere di mira.
Ma quando provo ad esempio:
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;
}
}
Tuttavia, aggiungendo che se l'istruzione ha suggerito un commentatore, ottengo il seguente errore:
Fatal error: Cannot use object of type WP_Post as array
Suppongo che sia richiesto più codice, ma che sia perso. Come promemoria senza l'istruzione if funziona, tuttavia è indirizzato a tutti i collegamenti anziché a quello a cui voglio rivolgermi.