Tạo các Widget ở Dashboard WordPress cho Plugin

Tạo các Widget ở Dashboard WordPress cho Plugin

Tiếp theo chuỗi lập trình Plugin thì mình sẽ đưa thêm một bài viết ngắn nữa, bài viết này sẽ giúp bạn đưa những widget của mình vào trang Dashboard của trang admin. Đây là một tính năng rất hay và được nhiều Plugin sử dụng để đưa ra các thông kê, thao tác nhanh,… Trong bài này mình sẽ hướng dẫn bạn tạo ra các widget ở dashboard trong plugin đã tạo ở bài Hướng dẫn tạo một Plugin đơn giản bằng WordPress.

Tìm hiểu về Dashboard Widgets API trong WordPress

API Dashboard Widget là một API xuất hiện trong WordPress 2.7, đến nay là rất lâu rồi, tuy nhiên chỉ những Plugin lớn sử dụng và rất ít các lập trình plugin sử dụng. Có thể sử dụng nó thì Dashboard trở nên dày đặt, nhưng một số yêu cầu cần có nó để dễ dàng thao tác hơn.

Hàm để sử dụng API này là Wp_add_dashboard_widget(), có cấu trúc như sau:

Wp_add_dashboard_widget($widget_id, $widget_name, $callback, $control_callback = null)

Trong đó:

  • $Widget_id – bao giờ nó cũng quan trọng hết, widget_id còn có thể được dùng trong việc CSS nữa thì nó sẽ add cái id này vào vùng widget của bạn. Lưu ý là không đặt trùng với cái khác nhé.
  • $Widget_name – Đây là tên của widget, nó sẽ hiển thị ở thanh tùy chọn hiển thị và trên widget.
  • $Callback – Tên của hàm bạn muốn hiển thị.
  • $Control_callback – (Tùy chọn). Cái này mình không dùng nên ít biết rõ.

Tạo Dashboard Widgets

Bây giờ mình sẽ tạo một hàm tên tuandc_add_dash_wid chứa hàm Wp_add_dashboard_widget()

function tuandc_add_dash_wid() {
                               wp_add_dashboard_widget(                 
                                   'tdc_dashboard_widget',
                                   'Cài đặt số bài hiển thị ngẫu nhiên',
                                   'cpanel_control_tdc_setting'
                                   ); 
                                }
add_action( 'wp_dashboard_setup', 'tuandc_add_dash_wid' );

Hàm trên mình sẽ hiển thị một widget có id là tdc_dashboard_widget với tên là Cài đặt số bài hiển thị ngẫu nhiên. với hàm hiển thị là cpanel_control_tdc_setting, là một hàm mình đã viết sẵn trong Hướng dẫn tạo một Plugin đơn giản rồi, mình sẽ không nhắc lại ở đây nữa. Và nhớ add action wp_dashboard_setup.

Kết quả sau khi tạo

Kết quả sau khi tạo

Để hiển thị menu trong phần dashboard thì bạn có thể làm tương tự bài: Tạo menu và form nhập liệu vào database trong control panel admin wordpress. Tuy nhiên bạn phải sử dụng hàm add_dashboard_page thay vì  hàm add_submenu_page, và các tham số là tương tự nhau.

Bài viết này rất ngắn, mình chỉ giới thiệu đến bạn cách tạo ra các widgets cho dashboard WordPress thôi.

Chúc bạn thành công !