Skip to content
  • Đăng nhập
  • Đăng nhập
  • Khuyến mại
    • Tên miền
          • Đăng ký tên miền
          • bang-gia-ten-mienBảng giá tên miền
          • Kiểm Tra Tên Miền
          • Gợi ý tên miền AI
          • ten-mien-vn-14Tên Miền .VN
          • Tên miền miễn phí
          • Gia hạn tên miền
          • Hướng dẫn chuyển tên miền về BKNS
          • Thủ tục chuyển nhượng tên miền VN
          • Quy trình xử lý khiếu nại tên miền
          • Các quy trình tên miền khác
          • Biểu Mẫu Hồ Sơ Đăng Ký
    • Hosting
          • hosting-platinumPlatinum Web Hosting
            Hosting NVMe U.2, CPU Platinum, Backup 3 lần/ngày
          • hosting-gia-re-1Hosting Giá Rẻ
            Off 15%: Hosting + Domain
          • Hosting-seoHosting SEO
            Tối ưu hóa website thân thiện với công cụ tìm kiếm
          • hosting-wordpressHosting WordPress
            Off 20%: Chuyển dịch vụ về BKNS
          • hosting-windowsHosting Windows
            Khả năng thích ứng cao - Bảo mật, mạnh mẽ đơn giản
          • reseller-hosting-cpanelReseller Hosting Cpanel
            Giải pháp tối ưu hệ thống Website
          • hosting-freeHosting Free
            Khởi tạo website chỉ với 0đ
    • Email
          • email-3Email Hosting
          • email-3Email Relay
            White list IP
          • email-3Email Server
            Miễn phí SSL, Giảm giá 20%
    • VPS
          • icon-AMD1Cloud VPS AMD
            Bộ xử lý AMD EPYC™
          • icon-vm-1Cloud VPS VM
            Giá chỉ từ 77k/tháng
          • icon-storgeStorage VPS
            Lưu trữ dung lượng cao
          • icon-gia-reVPS Giá Rẻ
            Giá chỉ từ 75k/tháng
          • sieu-reVPS Siêu Tiết Kiệm
            Giá chỉ từ 69k/tháng
          • VPS N8N AI
            N8N Tool Integration
          • Backup dữ liệu
          • Cloud VPS SEO
          • Cloud VPS BK Misa
          • E-meeting
          • Cloud VPN
    • Máy Chủ
          • server-bkns-1Thuê Máy Chủ
          • server-bkns-1Thuê Chỗ Đặt Máy Chủ
          • server-bkns-1Dịch vụ quản trị máy chủ trọn gói
    • Phần mềm
          • pngDirectAdmin
          • downloadSoftaculous
          • CloudlinuxCloudLinux
          • logo-cpanelcPanel
          • VectorImunify360
          • logo-dtiDTI
          • Plesk 1Plesk Obsidian
          • vBulletinvBulletin
          • Group-3164LiteSpeed
    • Website
    • SSL
    • Đối tác
      • Đại lý
      • Cộng Tác Viên
      • Tích Điểm Lên Hạng
    • Hướng dẫn
      • Hướng dẫn thanh toán
      • Hướng dẫn dịch vụ
      • Cam kết chất lượng mức dịch vụ (SLA)
      • Hướng dẫn sử dụng hệ thống quản lý dịch vụ (my.bkns.net)
  • Khuyến mại

Trang chủ » Hướng dẫn tạo menu đa cấp trong WordPress

Hướng dẫn tạo menu đa cấp trong WordPress

Thịnh Văn Hạnh 10/02/2020 2671 Lượt xem Chia sẻ bài viết

Menu là chính một thành phần quan trọng trong 1 website. WordPress cho phép người dùng thêm rất nhiều menu vào những vị trí tuỳ chỉnh. Bài viết sau đây, BKNS sẽ hướng dẫn bạn cách tạo menu đa cấp trong WordPress. Hãy cùng theo dõi nhé. 

Tạo menu đa cấp trong WordPress
Tạo menu đa cấp trong WordPress

Để tạo menu đa cấp, bạn cần tải dữ liệu một lần và cho nó vào 1 biến sau đó sử dụng kết hợp hàm lặp foreach và if để hiển thị menu cao cấp. Nhưng trước khi tạo menu đa cấp, bạn cần phân tích dữ liệu trả về của hàm menu và lấy là những trường cần thiết.

Tóm Tắt Bài Viết

  • Phân tích dữ liệu trả về trên hàm menu
  • Tạo menu đa cấp trong wordpress

Phân tích dữ liệu trả về trên hàm menu

Sử dụng hàm menu, dữ liệu trả về có dạng sau đây:

<?php 

  $menuLocations = get_nav_menu_locations(); 

  $menuID = $menuLocations['main-nav']; 

  $primaryNav = wp_get_nav_menu_items($menuID); 

  foreach ( $primaryNav as $navItem ) {

     echo '<li class="menu-item menu-item-type-post_type menu-item-object-page"> <a href="'.$navItem->url.'" title="'.$navItem->title.'">'.$navItem->title.'</a> </li>';

  }

?>

Đoạn code trên có chức năng để hàm sẽ  lấy dữ liệu menu của main-nav, đây cũng chính là 1 vị trí mà bạn cần tạo ở file function. 

Tiếp theo bạn cần loại bỏ hàm foreach đi đồng thời thay thế qua đoạn code sau:

<?php 

   $menuLocations = get_nav_menu_locations(); 

   $menuID = $menuLocations['main-nav']; 

   $primaryNav = wp_get_nav_menu_items($menuID); 

   echo var_dump($primaryNav);

 ?>

Đoạn code trên là thay thế nó bằng hàm var_dump: là hàm hiển thị cấu trúc của 1 biến, một đối tượng,.. từ đây trên màn hình sẽ cho người dùng thấy được những dữ liệu của biến và trường dữ liệu đó hiện đang được lưu trữ

dữ liệu của biến và trường dữ liệu đó hiện đang được lưu trữ

Hàm trên chính là một phần của mảng hiện ra bằng hàm var_dump. Để thực hiện thêm menu đa cấp bạn chỉ cần thêm 2 mục nữa là ID và menu_item_parent. Trong đó, trường ID là để xác định, còn trường menu_item_parent là để xem nó là con của ID nào.

trường ID là để xác định, trường menu_item_parent là để xem nó là con của ID nào

Nhìn chung, ngoài 2 mục title và url thì bạn cần thêm trường ID và menu_item_parent để phục vụ việc tạo ra menu đa cấp. 

Tạo menu đa cấp trong wordpress

Tạo menu đa cấp trong wordpress
Tạo menu đa cấp trong wordpress

Thay vì viết một hàm để truyền vào tham số ID nhằm lấy ra những danh sách con mà bạn cần sử dụng 3 hàm lặp để lấy ra 3 cấp bằng cách thêm theo cấu trúc dưới đây:

<ul id="menu-1" class="nav">

 <?php 

  $menuLocations = get_nav_menu_locations(); 

  $menuID = $menuLocations['main-nav']; 

  $primaryNav = wp_get_nav_menu_items($menuID); 

  $id_parent =0;

  foreach ( $primaryNav as $navItem ) {

    if($navItem -> menu_item_parent == $id_parent){

        echo '<li class="menu-item'.$navItem ->ID.'"> <a href="'.$navItem->url.'" title="'.$navItem->title.'">'.$navItem->title.'</a>'; 

        $sub="";

        foreach ( $primaryNav as $navItem2 ) { 

           if($navItem2 -> menu_item_parent == $navItem ->ID){

           $sub .= '<li class="menu-item'.$navItem2 ->ID.'"> <a href="'.$navItem2->url.'" title="'.$navItem2->title.'">'.$navItem2->title.'</a>';

           $sub2="";

           foreach ( $primaryNav as $navItem3 ) { 

              if($navItem3 -> menu_item_parent == $navItem2 ->ID){

              $sub2 .= '<li class="menu-item'.$navItem3 ->ID.'"> <a href="'.$navItem3->url.'" title="'.$navItem3->title.'">'.$navItem3->title.'</a></li>';

           } 

        }

        $sub .= '<ul>'.$sub2.'</ul>'; 

        $sub .= '</li>';

        } 

      }

      echo '<ul>'.$sub.'</ul>';

      echo '</li>';

    }

  }

 ?>

 </ul>

Bằng cách chèn code như trên bạn có thể chèn các class cần thiết để custom phù hợp với theme của mình. Đây cũng chính là đoạn code sử dụng cho theme.

Vậy là bài viết trên đây, BKNS hướng dẫn bạn cách tạo menu đa cấp trong WordPress để bạn tham khảo. Nếu bạn còn thắc mắc nào về bài viết xin hãy để lại bình luận ở dưới để chúng tôi có thể giải đáp nhanh nhất. Đừng quên truy cập website bkns.vn để cập nhật thêm nhiều thông tin hữu ích khác nữa nhé!

> >Tìm hiểu thêm:

  • Cách tạo menu ngang trong wordpress với [4 bước]
  • [Hướng dẫn] Đổi mật khẩu WordPress đơn giản, dễ dàng
  • Cách đăng nhập wordpress nhanh, đơn giản
Danh mục
  • Chứng chỉ SSL
  • Dịch vụ CDN
  • Email
  • Hosting
  • Hướng dẫn
    • Hướng dẫn đăng ký dịch vụ
    • Hướng dẫn kỹ thuật
    • Hướng dẫn sử dụng hệ thống quản lý dịch vụ (my.bkns.net)
    • Quy Trình
  • Kiến thức chung
    • Cloud Computing
    • DNS
    • IP
    • WordPress
  • Máy chủ
  • Phần mềm
    • cPanel
    • DirectAdmin
    • Plesk 12/Onyx
  • Tên miền
  • Thông báo & Tin tức
  • VPS
  • Website
Xem tất cả bài viết
Thịnh Văn Hạnh

Chào bạn, tôi là Thịnh Văn Hạnh, CEO và là người sáng lập nên BKNS. Với nhiều năm trong lĩnh vực công nghệ thông tin, hosting, server, tên miền... Tôi mong muốn mang đến cho các bạn những thông tin hữu ích nhất.

Chia sẻ lên
Theo dõi trên

Bài viết liên quan

anh-bia

04/09/2025

16

VPS Treo Game Android – Giải Pháp Tối Ưu Cho Chơi Game & Giả Lập

anh-bia-vps-gpu

26/08/2025

48

VPS GPU Treo Game – Giải Pháp Tối Ưu Cho Game Thủ & Streamer

anh-biaaa (1)

23/08/2025

70

VPS Treo Game Là Gì? Khám Phá Giải Pháp Treo Game Hiệu Quả Nhất

ten-mien-co-toi-da-bao-nhieu-ky-tu

19/08/2025

68

Tên miền có tối đa bao nhiêu ký tự? Cẩm nang cần biết khi đặt tên miền

domain-la-gi (1)

18/08/2025

58

Domain là gì? Khái niệm cơ bản dành cho người mới bắt đầu

anh- bia

16/08/2025

67

Tên miền doanh nghiệp là gì? Nền tảng xây dựng thương hiệu số chuyên nghiệp

thong-bao-nang-cap-ha-tang-he-thong

14/08/2025

119

[THÔNG BÁO] NÂNG CẤP TOÀN BỘ HỆ THỐNG NGÀY 16/08/2025

anh-bia

14/08/2025

147

Bí quyết chọn tên miền đẹp: Hướng dẫn từ A–Z

anh-bia-Let's-Encrypt-la-gi

07/08/2025

143

Let’s Encrypt là gì? Giải pháp chứng chỉ SSL miễn phí cho website bảo mật và uy tín

×
Xin chào,

Vui lòng nhập thông tin để chúng tôi liên hệ lại với bạn theo lịch hẹn.

Gửi Yêu Cầu
Gọi hotline 190 063 6809(24/7)
Thành công,

Cảm ơn bạn đã để lại thông tin. Chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.

Về chúng tôi

  • Giới thiệu
  • Liên hệ
  • Hồ sơ năng lực
  • Thông báo & Tin tức
  • Affiliate
  • Chương trình tích điểm

Các dịch vụ

  • Đăng Ký Tên Miền
  • Web Hosting
  • Platinum Web Hosting
  • Email Hosting
  • Cloud VPS
  • Server – Thuê máy chủ
  • Phần mềm
  • SSL & Bảo mật
  • Thiết kế website

Thông tin cần biết

  • Điều Khoản Sử Dụng Dịch Vụ
  • Quy trình giải quyết khiếu nại khách hàng
  • Cam kết chất lượng dịch vụ (SLA)
  • Văn Bản Pháp Lý
  • Biểu Mẫu Hồ Sơ Đăng Ký
  • Chính sách bảo mật thông tin

Câu hỏi thường gặp

  • Các hỏi đáp về dịch vụ Email
  • Các hỏi đáp về dịch vụ Tên miền
  • Các hỏi đáp về dịch vụ hosting
  • Các hỏi đáp về dịch vụ máy chủ
  • Hỏi đáp dịch vụ SSL

Hướng dẫn sử dụng

  • Hướng dẫn dịch vụ
  • Hướng dẫn sử dụng my.bkns.net

Số ĐKKD: 0104850587, cấp ngày 10/8/2010, tại sở KHĐT Hà Nội

Địa chỉ trụ sở: BT2-VT18, Khu nhà ở Xa La, Phường Hà Đông, Thành phố Hà Nội, Việt Nam

Chịu trách nhiệm nội dung: Giám đốc Thịnh Văn Hạnh

Copyright © Since 2010 BKNS, All rights reserved

Sử dụng dịch vụ tại BKNS.VN có nghĩa là bạn đồng ý với Quy định sử dụng của chúng tôi.

Công ty cổ phần giải pháp mạng Bạch Kim

LocationP501, Tầng 5 Tòa nhà số 169 đường Nguyễn Ngọc Vũ, Phường Yên Hòa, Thành phố Hà Nội, Việt Nam.

LocationB16 Khu nhà ở Thương Mại 319 Lý Thường kiệt, Phường Phú Thọ, Thành phố Hồ Chí Minh.

Phone Tổng đài 24/7: 1900 63 68 09

Phone Tư vấn dịch vụ: 1800 646 884 (Miễn phí cước)

Email Email liên hệ: info@bkns.vn

Email Email phản hồi dịch vụ: gopy@bkns.vn

Liên hệ với chúng tôi:

Zalo Offcial Account của hệ thống :

Zalo
Copyright © 2022 BKNS, All rights reserved
  • Tên miền
    • Đăng ký tên miền
    • bang-gia-ten-mienBảng giá tên miền
    • Kiểm Tra Tên Miền
    • Gợi ý tên miền AI
    • ten-mien-vn-14Tên Miền .VN
    • Tên miền miễn phí
    • Gia hạn tên miền
    • Quy trình xử lý khiếu nại tên miền
    • Khi nào cần Transfer tên miền?Hướng dẫn chuyển tên miền về BKNS
    • Thủ tục chuyển nhượng tên miền VN
    • Các quy trình tên miền khác
    • Biểu Mẫu Hồ Sơ Đăng Ký
  • Hosting
    • hosting-platinumPlatinum Web Hosting
      Hosting NVMe U.2, CPU Platinum, Backup 3 lần/ngày
    • hosting-wordpressHosting WordPress
      Off 20%: Chuyển dịch vụ về BKNS
    • Hosting-seoHosting SEO
      Tối ưu hóa website thân thiện với công cụ tìm kiếm
    • hosting-windowsHosting Windows
      Khả năng thích ứng cao – Bảo mật, mạnh mẽ đơn giản
    • reseller-hosting-cpanelReseller Hosting Cpanel
      Giải pháp tối ưu hệ thống Website
    • hosting-freehosting-freeHosting Free
      Khởi tạo website chỉ với 0đ
    • hosting-gia-re-1Hosting Giá Rẻ
      Off 15%: Hosting + Domain
  • Email
    • email-3Email Hosting
    • email-3Email Relay
      White list IP
    • email-3Email Server
      Miễn phí SSL, Giảm giá 20%
  • VPS
    • icon-AMD1Cloud VPS AMD
      Bộ xử lý AMD EPYC™
    • icon-vm-1Cloud VPS VM
      Giá chỉ từ 77k/tháng
    • icon-gia-reVPS Giá Rẻ
      Giá chỉ từ 75k/tháng
    • icon-storgeStorage VPS
      Lưu trữ dung lượng cao
    • Cloud VPS SEO
    • Cloud VPS BK Misa
    • E-meeting
    • Cloud VPN
    • Backup dữ liệu
    • sieu-reVPS Siêu Tiết Kiệm
      Giá chỉ từ 69k/tháng
    • VPS N8N AI
      N8N Tool Integration
  • Máy Chủ
    • server-bkns-1Thuê Máy Chủ
    • server-bkns-1Thuê Chỗ Đặt Máy Chủ
    • server-bkns-1Dịch vụ quản trị máy chủ trọn gói
  • Phần mềm
    • pngDirectAdmin
    • CloudlinuxCloudLinux
    • Plesk 1Plesk Obsidian
    • vBulletinvBulletin
    • Group-3164LiteSpeed
    • downloadSoftaculous
    • VectorImunify360
    • logo-cpanelcPanel
    • logo-dtiDTI
  • Website
  • SSL
  • Đối tác
    • Đại lý
    • Cộng Tác Viên
    • Tích Điểm Lên Hạng
  • Hướng dẫn
    • Hướng dẫn thanh toán
    • Hướng dẫn dịch vụ
    • Cam kết chất lượng mức dịch vụ (SLA)
    • Hướng dẫn sử dụng hệ thống quản lý dịch vụ (my.bkns.net)
  • WooCommerce not Found
  • Newsletter
  • Đăng nhập
    • English
  • Tên miền
    • Đăng ký tên miền
    • bang-gia-ten-mienBảng giá tên miền
    • Kiểm Tra Tên Miền
    • Gợi ý tên miền AI
    • ten-mien-vn-14Tên Miền .VN
    • Tên miền miễn phí
    • Gia hạn tên miền
    • Quy trình xử lý khiếu nại tên miền
    • Hướng dẫn chuyển tên miền về BKNS
    • Thủ tục chuyển nhượng tên miền VN
    • Các quy trình tên miền khác
    • Biểu Mẫu Hồ Sơ Đăng Ký
  • Hosting
    • hosting-platinumPlatinum Web Hosting
      Hosting NVMe U.2, CPU Platinum, Backup 3 lần/ngày
    • hosting-wordpressHosting WordPress
      Off 20%: Chuyển dịch vụ về BKNS
    • Hosting-seoHosting SEO
      Tối ưu hóa website thân thiện với công cụ tìm kiếm
    • hosting-windowsHosting Windows
      Khả năng thích ứng cao – Bảo mật, mạnh mẽ đơn giản
    • reseller-hosting-cpanelReseller Hosting Cpanel
      Giải pháp tối ưu hệ thống Website
    • hosting-freeHosting Free
      Khởi tạo website chỉ với 0đ
    • hosting-gia-re-1Hosting Giá Rẻ
      Off 15%: Hosting + Domain
  • Email
    • email-3Email Hosting
    • email-3Email Relay
      White list IP
    • email-3Email Server
      Miễn phí SSL, Giảm giá 20%
  • VPS
    • icon-AMD1Cloud VPS AMD
      Bộ xử lý AMD EPYC™
    • icon-vm-1Cloud VPS VM
      Giá chỉ từ 77k/tháng
    • icon-gia-reVPS Giá Rẻ
      Giá chỉ từ 75k/tháng
    • icon-storgeStorage VPS
      Lưu trữ dung lượng cao
    • Cloud VPS SEO
    • Cloud VPS BK Misa
    • E-meeting
    • Cloud VPN
    • Backup dữ liệu
    • sieu-reVPS Siêu Tiết Kiệm
      Giá chỉ từ 69k/tháng
    • VPS N8N AI
      N8N Tool Integration
  • Máy Chủ
    • server-bkns-1Thuê Máy Chủ
    • server-bkns-1Thuê Chỗ Đặt Máy Chủ
    • server-bkns-1Dịch vụ quản trị máy chủ trọn gói
  • Phần mềm
    • pngDirectAdmin
    • CloudlinuxCloudLinux
    • Plesk 1Plesk Obsidian
    • vBulletinvBulletin
    • Group-3164LiteSpeed
    • downloadSoftaculous
    • VectorImunify360
    • logo-cpanelcPanel
    • logo-dtiDTI
  • Website
  • SSL
  • Đối tác
    • Đại lý
    • Cộng Tác Viên
    • Tích Điểm Lên Hạng
  • Hướng dẫn
    • Hướng dẫn thanh toán
    • Hướng dẫn dịch vụ
    • Cam kết chất lượng mức dịch vụ (SLA)
    • Hướng dẫn sử dụng hệ thống quản lý dịch vụ (my.bkns.net)