Khi người dùng đang tạo bài đăng mới, làm cách nào để xác định vai trò hiện tại của anh ấy?Làm cách nào để biết vai trò của người dùng hiện tại trong WordPress?
7
A
Trả lời
9
Tôi giả sử bạn biết móc của Wordpress bạn muốn sử dụng. Vì vậy, bỏ qua phần đó, thật dễ dàng để có được vai trò hiện tại của người dùng
$current_user = wp_get_current_user();
if (!($current_user instanceof WP_User))
return;
$roles = $current_user->roles; //$roles is an array
Bây giờ, bạn có thể lặp qua mảng đó để xem liệu người dùng có vai trò cụ thể hay không.
Hoặc, bạn có thể sử dụng current_user_can
để tìm các khả năng cụ thể, nếu bạn chỉ muốn kiểm tra xem người dùng có quyền cụ thể hay không trong vai trò của họ. Ví dụ:
if (current_user_can('delete_posts')) {
//display the delete posts button.
}
0
Mã này sẽ giúp bạn
<?php echo array_shift(wp_get_current_user()->roles); ?>
+0
Bạn có thể xin expalin về cách nó sẽ giải quyết vấn đề? – Phani
Tuyệt vời! Đây chỉ là những gì tôi đang tìm kiếm! :) Cảm ơn! Bằng cách này, mà móc tôi phải sử dụng cho mã này? –
Tôi sẽ lưu save_post – villecoder
Lưu ý rằng codex WP ngày nay tuyên bố: "Không chuyển tên vai trò cho' current_user_can() ', vì điều này không đảm bảo hoạt động chính xác". – Robbert