Cách tạo thêm menu trong WordPress

Location vừa tạo

Đáng lẽ ra bài này mình đã nên viết lâu rồi nhưng do thời gian qua mình tập trung vào nhiều cái quá nên mãi hôm nay mới có thể viết đầy đủ được. Sở dĩ mình viết bây giờ là do sắp tới mình có làm một tutorial làm việc với một starter theme cơ bản nên chắc chắn sẽ cần đến phần này, do đó mình cũng hy vọng là các bạn có thể nắm bắt được tốt nhất.

Tính năng menu trong WordPress phải nói là rất mạnh mẽ và linh hoạt trong việc tạo menu cho website, họ cũng không giới hạn số lượng menu tạo ra và bạn cũng có thể chèn nó vào bất cứ đâu.

Trong bài này mình sẽ chỉ bạn cách viết code để tạo ra một Menu Location (vị trí đặt menu) và cách bạn thêm location này vào bất kỳ chỗ nào trong theme. Và cuối cùng là chỉ việc truy cập vào Appearance -> Menus để thêm menu vào location bạn vừa tạo.

Cần xem trước khi đọc bài này

Bước 1. Khởi tạo Menu Location

Để tạo một menu location không có gì là khó khăn, chỉ với một vài dòng đặt vào file functions.php là bạn tạo được. Nhưng trước khi tạo menu location, hãy chắc chắn là theme của bạn đã hỗ trợ tính năng menu bằng cách kiểm tra xem có đoạn dưới trong file function của theme chưa, nếu chưa thì thêm vào.



add_theme_support( 'menus' );


Xong rồi, bây giờ ta sẽ có một hàm tên là register_nav_menus()  với một tham số duy nhất là tên location như sau:


	register_nav_menus(
		array(
			'main-nav' => 'Menu chính'
		)
	);

Ở đoạn trên, chúng ta sẽ tạo ra một menu location mang tên Menu chính với slug là main-nav. Cái slug sẽ là tên để chúng ta xác định khi viết code hiển thị ra ngoài, không khoảng trắng, không dấu và không in hoa.

Bây giờ hãy save lại và vào phần Appearance -> Menus -> Locations thì bạn sẽ thấy tên location mà ta vừa tạo.

Location vừa tạo

Location vừa tạo

Thế nếu muốn thêm nhiều location thì sao? Đơn giản, chỉ việc thêm nhiều tham số vào hàm bên trên như sau:


	register_nav_menus(
		array(
			'main-nav' => 'Menu chính',
                        'footer-nav' => 'Footer menu'
		)
	);

Bước 2. Hiển thị location ra ngoài theme

Bạn cứ hiểu là location được chỉ định hiển thị ở đâu thì menu sẽ xuất hiện ở đó khi bạn thêm vào trong Dashboard.

Để hiển thị location, ta sẽ dùng hàm wp_nav_menu(). Hàm này nó có nhiều tham số hơn là cái hàm tạo location. Bây giờ hãy thử mở theme của bạn lên và chèn hàm này vào vị trí mà bạn thích, như file header.php chẳng hạn.


<?php wp_nav_menu( array(
     'theme_location' => 'main-nav', // tên location cần hiển thị
     'container' => 'nav', // thẻ container của menu
     'container_class' => 'main-nav', //class của container
     'menu_class' => 'menu clearfix' // class của menu bên trong
) ); ?>

Ở trên mình đã lượt bỏ đi khá nhiều tham số không bắt buộc, bạn có thể xem danh sách đầy đủ tại đây.

Bước 3. Thêm menu

Sau khi chèn xong, hãy vào trang quản lý thêm menu vào  location để nó hiển thị ra.

Bây giờ ra ngoài theme và dùng Firebug xem cấu trúc menu ta sẽ thấy tương tự như sau:

Cấu trúc menu

Cấu trúc menu

Hãy tham chiếu cấu trúc đó với code hiển thị location mà bạn vừa viết là bạn sẽ hiểu ngay ý nghĩa của nó. Việc bây giờ của bạn chỉ là thêm CSS cho menu để nó hiển thị như một menu thật sự nhé. Ở dưới là CSS mẫu của một menu dropdown đơn giản nếu bạn làm theo ví dụ cấu trúc menu của bài này



.main-nav ul {
 text-align: left;
 margin: 0;
 padding: 15px 4px 17px 0;
 list-style: none;
}
.main-nav ul li {
 font: bold 12px/18px sans-serif;
 display: inline-block;
 margin-right: -4px;
 position: relative;
 padding: 15px 20px;
 background: #fff;
 cursor: pointer;
 -webkit-transition: all 0.2s;
 -moz-transition: all 0.2s;
 -ms-transition: all 0.2s;
 -o-transition: all 0.2s;
 transition: all 0.2s;
}
.main-nav ul li:hover {
 background: #555;
 color: #fff;
}
.main-nav ul li ul {
 padding: 0;
 position: absolute;
 top: 48px;
 left: 0;
 width: 150px;
 -webkit-box-shadow: none;
 -moz-box-shadow: none;
 box-shadow: none;
 display: none;
 opacity: 0;
 visibility: hidden;
 -webkit-transiton: opacity 0.2s;
 -moz-transition: opacity 0.2s;
 -ms-transition: opacity 0.2s;
 -o-transition: opacity 0.2s;
 -transition: opacity 0.2s;
}
.main-nav ul li ul li {
 background: #555;
 display: block;
 color: #fff;
 text-shadow: 0 -1px 0 #000;
}
.main-nav ul li ul li:hover { background: #666; }
.main-nav ul li:hover ul {
 display: block;
 opacity: 1;
 visibility: visible;
}


Kết quả ta tạm có

Hoàn thành menu

Hoàn thành menu

Mình muốn nói gì ở bài này?

Trong bài này mình không hướng dẫn bạn làm thế nào để có một menu đẹp và lộng lẫy như các trang khác, mà mình chỉ muốn cho các bạn biết cách tạo một menu trong WordPress như thế nào. Từ đó bạn có thể tự mình chuyển các mẫu menu từ HTML, CSS sang menu của WordPress một cách dễ dàng.

Do đó, nếu bạn cần làm menu thêm đẹp mắt và lộng lẫy thì nên học vững CSS và jQuery vì nói thật là thật khó để hướng dẫn tạo một menu theo đúng ý tất cả mọi người.

Nguồn: Cách tạo thêm menu trong WordPress | Thạch Phạm

Categories: Content Marketing, Digital Marketing, Google Ads, Kinh doanh, PHP, SEO, Server - Hosting, WordPress, WordPress Development, Wordpress Plugin, WordPress Theme, Wordpress Tutorial,
Tags: baemin, bán hàng online, bán hàng online trên facebook, bán hàng qua facebook, bán hàng quần áo, bán hàng thời trang, bán hàng trên baemin, bán hàng trên facebook, bán hàng trên fanpage, bán hàng trên grab, bán hàng trên marketplace, bán hàng trên now, bán hàng trên tiktok, báo cáo kết quả hoạt động kinh doanh, bí quyết kinh doanh online, bít tết Âu việt, black friday, buôn bán hàng thùng, buôn bán hàng thùng tuyển chọn, cách bán hàng online đắt khách, cách bán hàng trên marketplace, cách bán hàng trên tiktok, câu chuyện kinh doanh, câu chuyện thành công, chương trình khuyến mãi, công nghệ phần mềm bán hàng, cửa hàng cafe, cửa hàng minh tuấn mobile, cửa hàng phụ kiện, cửa hàng thời trang, cửa hàng thực phẩm, cửa hàng thực phẩm sạch, doanh số bán hàng, dox garage & coffee, dox garage &amp; coffee, đăng ký bán hàng trên baemin, đăng ký bán hàng trên go food, đăng ký bán hàng trên grab, đăng ký bán hàng trên now, facebook, facebook pos, fanpage, file excel, file excel báo cáo kết quả kinh doanh, file excel quản lý kho, foodngon, go food, go jek, grab, halo mobile, khởi nghiệp, khởi nghiệp kinh doanh, khởi nghiệp kinh doanh thời trang, kinh doanh cafe, kinh doanh điện thoại, kinh doanh điện tử điện máy, kinh doanh đồ handmade, kinh doanh gì sau dịch, kinh doanh mỹ phẩm, kinh doanh mỹ phẩm online, kinh doanh nhà hàng, kinh doanh online, kinh doanh phụ kiện, kinh doanh quán cafe, kinh doanh shop thời trang, kinh doanh siêu thị mini, kinh doanh spa, kinh doanh thành công, kinh doanh thời trang, kinh doanh thời trang trẻ em, kinh doanh thực phẩm, kinh doanh thực phẩm sạch thành công, kinh doanh trên facebook, kinh doanh trên grab, kinh nghiệm bán hàng, kinh nghiệm kinh doanh, làm đồ handmade, lily shop, link kháng tài khoản quảng cáo, lụa tơ tằm bá minh, marketing online, mặt hàng dễ bán, mẹo bán hàng, mẹo bán hàng trên facebook, mẹo hay, ngày black friday năm 2020 là ngày nào?, now, now - foody, phầm mềm quản lý bán hàng miễn phí, phần mềm chốt đơn, phần mềm chốt đơn hàng, phần mềm miễn phí, phần mềm pos, phần mềm quản lý bán hàng, phần mềm quản lý bán hàng đáng tin cậy, phần mềm quản lý bán hàng miễn phí, phụ kiện ben & tony, phụ kiện ben &amp; tony, phụ kiện hà xinh, quán cafe hiệu quả, quản lý cửa hàng, quản lý cửa hàng thời trang, quản lý nhà hàng, quản lý nhân viên, quản lý nhân viên cứng đầu, quản lý nhân viên thời vụ, quảng cáo thương hiệu, shop thời trang, shopee, siêu thị minimart, status, status bán hàng, status quảng cáo mỹ phẩm, stella spa, stt bán hàng online hài hước, stt tương tác bán hàng, t.u.s shop, tài khoản bị vô hiệu hóa, tài khoản facebook, tài khoản facebook bị vô hiệu hóa, tải miễn phí file excel quản lý kho, tăng doanh thu mùa black friday, thời trang kosta, thời trang mine, thời trang tú trần shop, thực phẩm sạch, thực phẩm sạch 02, thực phẩm sạch tâm an, thuê mặt bằng kinh doanh, tiki, tiktok, tú trần shop,
ROI là gì? Cách tính ROI chuẩn trong Marketing, SEO, Content Marketing
Các biến dữ liệu của plugin SEO by Yoast để tối ưu title
Tác giả

Bình luận

MarcosFeshy

buy tadalafil us: https://tadalafilonline20.com/ tadalafil dosage

Leave a Message

Registration isn't required.

NguyenLp LarTheme