Cách thêm các mục tùy chỉnh vào các menu WordPress cụ thể

Các menu WordPress là tuyệt vời. Giao diện kéo và thả giúp người dùng và nhà phát triển chủ đề WordPress thực sự dễ dàng. Trước đây, chúng tôi đã chỉ cho bạn cách thêm menu tùy chỉnh trong WordPress cùng với cách thiết kế menu tùy chỉnh. Một điều bị hạn chế trong giao diện trực quan của các menu là bạn chỉ có thể thêm liên kết (trang, danh mục hoặc liên kết tùy chỉnh). Điều gì xảy ra nếu bạn muốn thêm một mục tùy chỉnh vào menu WordPress của mình? Bạn có thể muốn thêm một hộp tìm kiếm hoặc liên kết đăng nhập / đăng xuất, ngày hôm nay hoặc một cái gì đó khác trong menu WordPress. Chỉ vì không có giao diện trực quan không có nghĩa là không thể. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách sử dụng wp_nav_menu_items Móc để thêm các yếu tố tùy chỉnh cho tất cả hoặc các menu WordPress cụ thể.

Ghi chú Hướng dẫn này dành cho các nhà phát triển chủ đề WordPress, vì vậy bạn sẽ biết được html / css cơ bản và hiểu biết công bằng về cách các chủ đề WordPress hoạt động.

Rõ ràng, bạn phải bật menu tùy chỉnh cho các chủ đề của mình trước khi có thể tiếp tục.

Hãy bắt đầu với những điều cơ bản. Chúng ta cần thêm bộ lọc của riêng mình vào wp_nav_menu_items móc. Một ví dụ sẽ như thế này:

add_filter (‘wp_nav_menu_items’, ‘your_custom_menu_item’, 10, 2 );
 chức năng your_custom_menu_item ($ items, $ args) {
     if (is_single () && $ args-> theme_location == ‘chính’) {
         $ vật phẩm. = ‘

Hiển thị bất cứ điều gì ‘; } trả lại các mặt hàng $; }

Như bạn có thể thấy, bạn có thể sử dụng các câu lệnh có điều kiện với đối số location_topic. Điều này cho phép bạn nhắm mục tiêu một trang web menu cụ thể với bất kỳ điều kiện bạn muốn. Nếu bạn không muốn câu lệnh có điều kiện, bạn không cần sử dụng nó. Chỉ cần thêm nó vào một mục menu cụ thể hoặc ngược lại.

Bây giờ bạn đã thấy một ví dụ cơ bản, hãy cho bạn thấy một số ví dụ cụ thể về cách nó sẽ hoạt động.

Thêm liên kết đăng nhập / đăng xuất vào một menu WordPress cụ thể

Nếu bạn muốn cho phép người dùng đăng nhập / đăng xuất, đây là nơi bạn có thể thêm các liên kết vào menu tùy chỉnh của mình. Đoạn trích dưới đây cho thấy các liên kết đăng nhập / đăng xuất cho người dùng của bạn một cách thích hợp trên trang web menu: main. Bạn có thể thay đổi vị trí menu nếu bạn muốn.

add_filter (‘wp_nav_menu_items’, ‘add_loginout_link’, 10, 2 );
 hàm add_loginout_link ($ items, $ args) {
     if (is_user_logged_in () && $ args-> theme_location == ‘chính’) {
         $ vật phẩm. = ‘

Đăng xuất ‘;
}
otherif (! is_user_logged_in () && $ args-> theme_location == ‘chính’) {
$ vật phẩm. = ‘Đăng nhập’; } trả lại các mặt hàng $; }

Thêm một hộp tìm kiếm vào một menu cụ thể

Bạn có muốn thêm một hộp tìm kiếm vào một menu cụ thể? Thôi không tìm đâu xa. Bạn có thể làm điều này bằng cách dán các đoạn sau:

add_filter (‘wp_nav_menu_items’, ‘add_search_box_to_menu’, 10, 2);
 hàm add_search_box_to_menu ($ item, $ args) {
     if ($ args-> theme_location == ‘chính’)
         trả lại các mặt hàng $. ”

“; trả lại các mục $;}

Thêm ngày hôm nay vào một menu WordPress cụ thể

Đoạn trích dưới đây thêm ngày hôm nay vào menu WordPress của bạn. Bạn có thể sử dụng hướng dẫn ngày hôm nay để thay đổi mã nếu bạn muốn.

add_filter (‘wp_nav_menu_items’, ‘add_todaysdate_in_menu’, 10, 2);
 hàm add_todaysdate_in_menu ($ items, $ args) {
     if ($ args-> theme_location == ‘chính’) {
 
 $ todaydate = ngày (‘l jS F Y’);
         $ vật phẩm. = ‘

‘. $ ngày hôm nay. ”; } trả lại các mặt hàng $; }

Chúng tôi hy vọng bài viết này sẽ cho phép các nhà phát triển mở rộng chức năng của các chủ đề của họ.