Checking wordpress user’s role

วิธีตรวจสอบว่า wordpress user ปัจจุบันว่าเป็น admin หรือไม่ ทีแรกมั่วๆ ไปดูที่ function is_admin() แต่อ่านโค้ดดูแล้วไม่ใช่ อันนั้นมันเอาไว้ดูว่าหน้าปัจจุบัน เป็นหน้า wordpress admin หรือเปล่า

วิธีตรวจสอบที่ถูก คือดูจาก capability ของ user นั้นๆ (reference สำหรับเช็ค capability ของ role ต่างๆ) โดยใช้ function current_user_can() เช็คว่าทำได้หรือไม่

เช่น จะดูว่า user สามารถลบคอมเมนต์ได้หรือไม่ ก็เช็คว่า current_user_can('moderate_comments') หรือถ้าต้องการจะเช็คจริงๆ ว่า user เป็น admin หรือเปล่า ก็ใช้ current_user_can('level_8')

แต่ถ้าสำหรับ wordpress MU จะมี function is_site_admin() ให้ใช้ด้วย

Leave a Reply