Hiển thị menu bằng hàm wp_nav_menu. Thanh điều hướng sử dụng CSS. Thêm chi tiết về đăng ký và hiển thị menu trong mẫu

Đăng ký và hiển thị menu tùy chỉnh được tạo trong bảng điều khiển: « Vẻ bề ngoài> Menu (Giao diện > Menu).

Đăng ký thực đơn

Add_action("after_setup_theme", function())( register_nav_menus(array("main_menu" => __("Menu chính", "crea"), "foot_menu" => __("Menu chân trang", "crea"),) ) ; ));

Tùy chọn thứ hai để đăng ký menu (Tôi không biết nó chính xác như thế nào, vì vậy tốt hơn nên sử dụng tùy chọn đầu tiên)

Nếu (function_exists("register_nav_menu")) ( register_nav_menus(array("main_menu" => __("Menu chính", "crea"), "foot_menu" => __("Menu chân trang", "crea"),)) ; )

Hiển thị thực đơn

Tùy chọn menu thứ hai

"menu-header", "theme_location" => "chính")); ?>

Thêm chi tiết về đăng ký và hiển thị menu trong mẫu

Cách sử dụng

wp_nav_menu(array("theme_location" => "" // (string) Vị trí của menu trong mẫu. (cho biết khóa mà menu đã được đăng ký trong hàm "menu" => "", // (chuỗi ) Tên menu hiển thị (được ghi ở bảng quản trị khi tạo menu, ưu tiên cho vị trí được chỉ định theme_location - nếu được chỉ định, tham số theme_location sẽ bị bỏ qua) "container" => "div", // (string) Menu container. Gói ul. Thẻ vùng chứa được chỉ định (theo mặc định trong thẻ div) "container_class" => "", // (string) lớp của vùng chứa ( thẻ div) "container_id" => "", // (chuỗi) id của vùng chứa (thẻ div) "menu_class" => "menu", // (chuỗi) lớp của chính menu (thẻ ul) "menu_id" => "", / / ​​(string) id của chính menu (thẻ ul) "echo" => true, // (boolean) Hiển thị hoặc trả về để xử lý "fallback_cb" => "wp_page_menu", // (string) Đã sử dụng ( backup), nếu menu không tồn tại (không thể lấy) "trước" => "", // (chuỗi) Văn bản trước mỗi liên kết "after" => "", // (chuỗi) Văn bản sau each link "link_Before" => "", // (string) Văn bản trước neo (văn bản) của liên kết "link_after" => "", // (chuỗi) Văn bản sau neo (văn bản) của liên kết "items_wrap " => "", "độ sâu" => 0, // (số nguyên) Độ sâu lồng nhau (0 - không giới hạn, 2 - menu hai cấp) "walker" => "" // (đối tượng) Lớp thu thập các menu. Mặc định: Walker_Nav_Menu mới));

Đối số tham số $args

theme_location(chuỗi)
ID của vị trí menu trong mẫu. Mã định danh được chỉ định khi đăng ký menu bằng hàm register_nav_menu().
Mặc định: ""

thực đơn(chuỗi)
Menu cần hiển thị. So khớp: id, slug hoặc tên menu.
Mặc định: ""

vùng chứa (chuỗi)
Cách bọc thẻ ul. Có thể chấp nhận: div hoặc nav.
Nếu bạn không cần bọc nó bằng bất cứ thứ gì thì hãy viết false: container => false.
Mặc định: div

container_class(chuỗi)
Giá trị của thuộc tính lớp của vùng chứa menu.
Mặc định: menu-(menu slug)-container

container_id(chuỗi)
Giá trị của thuộc tính id của vùng chứa menu.
Mặc định: ""

menu_class(chuỗi)
Giá trị thuộc tính lớp của thẻ ul.
Mặc định: thực đơn

menu_id(chuỗi)
Giá trị thuộc tính id của thẻ ul.
Mặc định: sên menu

tiếng vang (boolean)
In ra màn hình (đúng) hoặc quay lại để xử lý (sai).
Mặc định: đúng

dự phòng_cb(chuỗi)
Một chức năng để xử lý đầu ra nếu không tìm thấy menu.
Truyền tất cả $args cho hàm được chỉ định ở đây.
Đặt chuỗi trống thành '__return_empty_string' để không hiển thị gì nếu không có menu.
Mặc định: wp_page_menu

trước(chuỗi)
Văn bản trước thẻ trên thực đơn.
Mặc định: ""

sau(chuỗi)
Văn bản sau mỗi thẻ trong menu.
Mặc định: ""

link_trước(chuỗi)
Văn bản trước neo của mỗi liên kết trong menu.
Mặc định: ""

link_after(chuỗi)
Văn bản sau neo của mỗi liên kết trong menu.
Mặc định: ""

items_wrap(chuỗi)
Tôi có cần bọc các phần tử trong thẻ ul không? Nếu cần, một mẫu trình bao bọc sẽ được chỉ định.
Mặc định: ""

độ sâu (số)
Có bao nhiêu cấp độ liên kết lồng nhau để hiển thị. 0 - tất cả các cấp độ.

người đi bộ (vật thể)
Lớp sẽ được sử dụng để xây dựng menu. Bạn cần chỉ định một đối tượng chứ không phải một chuỗi, ví dụ My_Menu_Walker() mới. Mặc định: Walker_Nav_Menu(). Hãy xem bên dưới để biết cách sử dụng...
Mặc định: Walker_Nav_Menu

item_spaces(chuỗi)
Có hay không để lại dấu ngắt dòng trong mã menu HTML. Có thể là: bảo quản hoặc loại bỏ
Mặc định: "bảo tồn"

Ví dụ

Chỉ hiển thị menu nếu nó tồn tại

Theo mặc định, nếu không có menu thì các trang của trang web sẽ được hiển thị thay thế. Nhưng nếu bạn chỉ cần hiển thị menu khi nó được tạo trong bảng quản trị, hãy chỉ định tham số fallback_cb là "__return_empty_string" :

Wp_nav_menu(array("theme_location" => "primary-menu", "fallback_cb" => "__return_empty_string"));

Xin chào, hôm nay chúng ta sẽ nói lại về cách tạo menu (dọc và ngang) trong wordpress thông qua bảng điều khiển, cũng như cách hiển thị nó ở bất kỳ đâu trên trang web của bạn bằng chức năng wp_nav_menu, mọi thứ sẽ dễ dàng hơn nhiều so với hướng dẫn đã viết trước đây của tôi về việc tạo menu.

Các bạn có thể tải nguồn bài viết bên dưới

Hướng dẫn dưới đây dựa trên bài viết trước của tôi -

Tuy nhiên, ở đây chúng ta sẽ làm mọi thứ đơn giản hơn (chúng ta sẽ không chạm vào tệp tin.php hoặc sử dụng tập lệnh để tạo menu thả xuống), cụ thể là chúng ta sẽ học cách tạo menu dọc hoặc menu không thả xuống ngang .

Bắt đầu nào!

1. Đi tới bảng điều khiển trang web WordPress, ở menu bên trái, chọn mục “Giao diện” và mục phụ “Menu” của nó.

Ở đây chúng tôi tạo ra menu chúng tôi cần.

Ví dụ: hãy tạo một menu từ các danh mục, nhưng không phải từ tất cả chúng mà chỉ những danh mục chúng ta cần và gọi menu này là “rubrici”, nó sẽ trông như thế này:

2. Để hiển thị menu trong WordPress chúng ta sẽ sử dụng chức năng sau:

Mọi thứ đều đơn giản, trong đoạn mã trên, thay vì “tên menu”, bạn thay thế tên của menu bạn đã tạo và dán mã vào bất kỳ đâu trên trang web của mình.

Đối với menu được tạo trong ví dụ của chúng tôi, hàm này sẽ trông như thế này:

3. Chèn menu vào vị trí mong muốn trên trang web của chúng tôi.

Ví dụ: hãy chèn menu “đánh giá” của chúng tôi vào tiêu đề, ở trên cùng.

Ví dụ: hãy lấy chủ đề WordPress tiêu chuẩn – Twenty Twelve.

Để thực hiện việc này, trong bảng điều khiển WordPress, hãy đi tới mục “Chế độ xem đầu” và mục phụ “Trình chỉnh sửa”, chọn tiêu đề.php trong danh sách mẫu ở bên phải.

Trong mã của nó, chúng tôi tìm thấy thẻ nội dung mở và ngay sau đó có một thẻ mở khối “trang” - sau thẻ đó, chúng tôi sẽ chèn đầu ra của menu “rubrici” bằng cách sử dụng chức năng - wp_nav_menu:

... >