Tôi là Twitter Bootstrap và cần thêm thuộc tính data-toggle = "modal" vào thẻ liên kết menu. Khi tìm kiếm hầu hết tất cả các tham chiếu kết quả thực hiện việc đi bộ cho các menu thả xuống Bootstrap của Twitter tuy nhiên menu này không có danh sách thả xuống và tôi chỉ cần thêm thuộc tính cụ thể.
Tiếp theo tôi đã tìm thấy điều này: Thêm thuộc tính tùy chỉnh vào các mục menu không có plugin rất hữu ích vì nó xuất hiện trong WordPress 3.6+, chúng tôi không còn phải thực hiện các bước đi phức tạp dài và thay vào đó có thể sử dụng điều này: http://codex.wordpress.org/Plugin_API / Filter_Reference / nav_menu_link_attribut
Tuy nhiên, do hoạt động này mà tham chiếu API khá trống rỗng và không có ví dụ nào và vì nó rất mới nên có rất ít tài liệu tham khảo về nó trên Google.
Tôi đã thử điều này đầu tiên:
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;
}
và điều đó không hoạt động tuy nhiên như mong đợi sẽ thêm thuộc tính cho tất cả các thẻ trong menu. Vì vậy, tôi đang cố gắng tìm ra cách nhắm mục tiêu một mục menu với # menu-item-7857 a hoặc tương tự.
Có ai biết nơi để tìm một ví dụ về việc nhắm mục tiêu một mục menu hoặc có thể xác định cách dựa vào thông tin trong tham chiếu API được liên kết ở trên không?
Để lưu ý, tôi đã tìm thấy một ví dụ sau đây nhưng nó chỉ nhắm mục tiêu các mục có con không giúp ích nhưng có thể đi đúng hướng:
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);
CẬP NHẬT - Câu trả lời duy nhất dưới đây nghe có vẻ giống với một cái gì đó nhưng từ đó không thể xác định làm thế nào để thực sự tìm thấy số để nhắm mục tiêu liên kết cụ thể của tôi và nơi / cách thêm điều kiện đó vào một ví dụ hoạt động. Đã thêm một bình luận nhưng không nghe lại. Kể từ khoảng 18 ngày, tôi nghĩ rằng liệu tiền thưởng có giúp được gì không.
Khi tôi nhìn vào mã cho liên kết tôi muốn nhắm mục tiêu:
<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>
Tôi thấy số 7858 nên nghĩ có lẽ đó là số tôi nên nhắm mục tiêu.
Nhưng khi tôi thử chẳng hạn:
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;
}
}
Tuy nhiên, thêm vào đó nếu câu lệnh mà một người bình luận đề nghị tôi gặp phải lỗi sau:
Fatal error: Cannot use object of type WP_Post as array
Tôi giả sử cần nhiều mã hơn nhưng bị mất. Như một lời nhắc mà không có câu lệnh if, nó hoạt động tuy nhiên nó nhắm mục tiêu tất cả các liên kết chứ không phải là một liên kết tôi muốn nhắm mục tiêu.