Saya Twitter Bootstrap dan perlu menambahkan atribut data-toggle = "modal" ke tag tautan menu. Setelah mencari sebagian besar semua referensi hasil melakukan jalan-jalan untuk menu dropdown Bootstrap Twitter namun menu ini tidak memiliki dropdown dan saya hanya perlu menambahkan atribut tertentu.
Berikutnya saya menemukan ini: Tambahkan atribut khusus ke item menu tanpa plugin yang sangat membantu seperti yang muncul di WordPress 3.6+ kita tidak lagi harus melakukan walker kompleks yang panjang dan sebaliknya dapat menggunakan ini: http://codex.wordpress.org/Plugin_API / Filter_Reference / nav_menu_link_attributes
Namun pada saat ini berjalan bahwa referensi API cukup telanjang dan tidak memberikan contoh dan karena sangat baru ada sangat sedikit referensi untuk itu di Google.
Saya mencoba ini dulu:
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;
}
dan itu tidak bekerja namun seperti yang diharapkan menambahkan atribut ke semua tag di menu. Jadi saya mencoba mencari cara untuk menargetkan satu item menu dengan # menu-item-7857 atau sejenisnya.
Adakah yang tahu di mana menemukan contoh penargetan item menu atau dapat menentukan bagaimana mendasarkan pada informasi yang ada di referensi API tertaut di atas?
Untuk diketahui, saya memang menemukan satu contoh berikut tetapi hanya menargetkan item yang memiliki anak yang tidak membantu tetapi mungkin berada di arah yang benar:
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);
UPDATE - Satu-satunya jawaban di bawah ini sepertinya ada pada sesuatu tetapi dari itu tidak dapat menentukan bagaimana sebenarnya menemukan nomor untuk menargetkan tautan spesifik saya dan di mana / bagaimana menambahkan yang bersyarat dalam contoh kerja. Menambahkan komentar tetapi tidak mendapat balasan. Sejak sekitar 18 hari saya pikir saya akan melihat apakah hadiah akan membantu.
Ketika saya melihat kode untuk tautan yang ingin saya targetkan:
<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>
Saya melihat nomor 7858 jadi berpikir mungkin itu nomor yang harus saya targetkan.
Tapi ketika saya coba misalnya:
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;
}
}
Namun menambahkan bahwa jika pernyataan satu komentator menyarankan saya mendapatkan kesalahan berikut:
Fatal error: Cannot use object of type WP_Post as array
Saya mengasumsikan lebih banyak kode diperlukan tetapi hilang. Sebagai pengingat tanpa pernyataan if berfungsi, namun ia menargetkan semua tautan daripada satu tautan yang ingin saya targetkan.