Cách tạo menu khác nhau khi đăng nhập WordPress

Bạn đang làm một trang web thành viên bằng WordPress, tất nhiên bạn sẽ muốn cho người dùng đăng ký / đăng nhập và quản lý hồ sơ từ ngoài frontend. Điều này có nghĩa là bạn phải tạo 2 menu khác nhau cho người dùng ở cùng một vị trí, một logout menu (khi chưa đăng nhập) và một login menu (thay thế cho logout menu khi đăng nhập).

Ví dụ: bạn có thể muốn hiển thị cho người dùng đã đăng nhập một liên kết đến hồ sơ của họ, chỉnh sửa hồ sơ hoặc đăng bài viết. Ngược lại sẽ hiển thị liên kết đăng nhập hoặc đăng ký cho người dùng chưa đăng nhập.

Tất nhiên đa số giao diện của WordPress mặc định sẽ không có tính năng này. Và nếu bạn muốn thêm tính năng này cho giao diện WordPress đang sử dụng thì bài viết sau đây sẽ hướng dẫn bạn tạo menu khác nhau khi đăng nhập WordPress bằng 2 cách khác nhau, bằng plugin và code.

Cách tạo menu khác nhau khi đăng nhập WordPress

Tại sao bạn nên tạo một menu khác cho người dùng đăng nhập?

Điều cực kỳ quan trọng là phải có các menu trực quan và được tổ chức tốt giúp người dùng của bạn dễ dàng khám phá những gì họ cần trên trang web của bạn. Tổ chức và cấu trúc menu của bạn một cách kỹ lưỡng là điều bắt buộc vì nó sẽ hoạt động giống như một hướng dẫn cho trang web của bạn.

Để làm cho trang web của bạn thành công, cần phải có một menu động. Đặc biệt trên các trang web yêu cầu mọi người đăng nhập, menu bạn hiển thị cho người dùng đã đăng nhập và đăng xuất phải khác nhau.

Bằng cách đó, bạn có thể đảm bảo rằng người dùng chưa đăng nhập không thể xem nội dung của bạn và phải đăng nhập. Trong khi đó, người dùng đã đăng nhập thành công sẽ được chuyển hướng đến nội dung mong muốn của họ.

Ngoài ra, một menu động cung cấp một dấu hiệu rõ ràng và làm cho trang web của bạn thân thiện với người dùng. Khách truy cập đã đăng nhập và chưa đăng nhập sẽ dễ dàng được điều hướng đến các mục menu khác nhau mà không có bất kỳ sự nhầm lẫn nào.

Cách tạo menu khác nhau khi đăng nhập WordPress

#1. Tạo menu khác nhau bằng cách sử dụng Plugin

Cách đơn giản nhất để hiển thị các menu khác nhau khi đăng nhập là sử dụng wordpress plugin. Tuy nhiên, có thể khó chọn plugin menu tùy chỉnh phù hợp nhất trong vô số giải pháp hiện có.

Để giúp bạn dễ dàng hơn, chúng tôi khuyên bạn nên sử dụng plugin Conditional Menu. Đây có thể coi là plugin miễn phí hoàn hảo cho WordPress khi muốn tạo menu khác nhau. Đây là plugin rất mạnh mẽ vì bạn không chỉ có thể tạo menu khác nhau cho người dùng đăng nhập, mà có thể áp dụng để tạo menu khác nhau cho từng trang, bài viết, chuyên mục, post type và quyền user.

Bạn có thể cài đặt plugin này từ trang quản trị plugin wordpress.

Trước khi tiếp tục sử dụng plugin, bạn vào Giao diện > Menu, thêm 2 menu mới là login (hiển thị khi người dùng đã đăng nhập) và logout (hiển thị khi chưa đăng nhập), với các liên kết phù hợp.

Sau đó, qua tab Quản lý vị trí menu, có một số vị trí menu khác nhau tuỳ vào giao diện bạn đang sử dụng. Tại một vị trí menu bạn muốn hiển thị 2 menu vừa tạo, chẳng hạn như Top Menu, bạn chọn menu mặc định sẽ hiển thị. Ở đây mình chọn là logout menu.

Sau đó bạn nhấn vào + Conditional Menu và chọn menu login, tiếp tục nhấn vào + Conditionals để thêm điều kiện hiển thị cho menu này (nó sẽ hiển thị thay thế cho menu mặc định.

Ở phần điều kiện, bạn tich chọn vào User logged in và nhấn Save để lưu lại. Sau đó nhấn Lưu thay đổi để lưu vị trí menu. Bây giờ bạn có thể thử nghiệm ở ngoài Frontend để xem sự thay đổi khi login và logout nhé.

Ngoài ra, với plugin này, bạn có thể thêm nhiều menu với nhiều điều kiện hiển thị khác nhau tuỳ vào mục đích của bạn. Hãy tự nghiên cứu thêm nếu thấy cần thiết.

#2. Sử dụng code để hiển thị menu khác nhau

Phương pháp này yêu cầu bạn thêm mã vào trang web WordPress của mình, vì vậy hãy cẩn thận với những gì bạn tiếp tục làm.

Trước tiên, bạn cần tạo 2 menu tương tự như bước 1. Sau đó, bạn thêm mã sau vào tệp functions.php của giao diện bạn đang sử dụng.

function my_wp_nav_menu_args( $args = ” ) {

if( is_user_logged_in() ) {

// Logged in menu to display

$args[‘menu’] = ‘login’;

} else {

// Non-logged-in menu to display

$args[‘menu’] = ‘logout’;

}

return $args;

}

add_filter( ‘wp_nav_menu_args’, ‘my_wp_nav_menu_args’ );

Nếu trước đó bạn tạo 2 menu với tên khác thì hãy thay thế chúng vào ‘login’ và ‘logout’ cho phù hợp nhé.

Kết luận

Bài viết này đã trình bày 2 cách đơn giản để hiển thị các menu khác nhau khi đăng nhập vào WordPress: sử dụng plugin miễn phí và thêm mã vào tệp function.php .Mình hy vọng bài viết này đã giúp bạn biết thêm cách dễ dàng hiển thị các menu điều hướng khác nhau cho người chưa đăng nhập và người dùng đã đăng nhập trong WordPress.

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *