Khi nhắc đến widget trong WordPress, bạn có thể nghĩ ngay đến các thành phần hiển thị trên trang web. Tuy nhiên, trong bài viết này, mình đề cập đến các widget trong trang quản trị, cụ thể là các widget nằm ở phần Dashboard như hình dưới.
Trong bài viết này, mình sẽ hướng dẫn các bạn cách xóa các widget mặc định và tạo một widget mới trong trang quản trị để hiển thị các thông tin theo ý muốn của bạn.
Thông tin tham khảo:
Dashboard Widget API
[alert color=”orange” type=”alert-message-background” title=”Note” size=”small”]Bài này bạn sẽ viết code vào plugin đã tạo ở bài 2 trong serie này.[/alert]
Cách xóa widget mặc định trong trang quản trị
Nếu bạn giống mình, có lẽ bạn cũng đã lâu không còn sử dụng các widget trong trang quản trị vì chúng không cung cấp nhiều thông tin. Thay vì để chúng chiếm không gian, chúng ta nên xóa chúng đi để giao diện gọn gàng hơn.
Để thực hiện điều này, chúng ta sẽ tạo một hàm và kết nối nó với action hook có tên là wp_dashboard_setup.
Trong hàm này, chúng ta sẽ sử dụng hàm remove_meta_box để xóa widget. Lý do sử dụng hàm này là vì các widget này thực chất là các meta box được tạo cho loại trang có tên là Dashboard. Ví dụ, nếu bạn muốn xóa widget WordPress News, bạn có thể sử dụng đoạn mã sau:
Tương tự, bạn có thể xem danh sách các dashboard mặc định tại đây và chỉ cần sao chép tên của widget bạn muốn xóa vào hàm của mình.
Nếu bạn muốn xóa phần hiển thị thông tin chào mừng trong Dashboard, hãy sử dụng remove_action() và đảm bảo đặt đoạn mã này bên ngoài hàm của bạn.
Cách tạo một widget trong trang quản trị
Khi tạo website cho khách hàng, chúng ta có thể cần sử dụng phần Dashboard để đăng ghi chú nhắc nhở hoặc tích hợp các chức năng nâng cao như lấy tin tức mới nhất từ trang của mình, cập nhật giá vàng, tỷ giá, và các thông tin khác, tùy thuộc vào khả năng lập trình của bạn.
Trong hướng dẫn này, mình sẽ chỉ cho bạn cách tạo một widget đơn giản và một widget hiển thị bài viết mới nhất từ trang của mình thông qua RSS.
Trước tiên, chúng ta sẽ tạo một hàm riêng và kết nối nó với action hook có tên là wp_dashboard_setup. Trong hàm này, chúng ta sẽ sử dụng wp_add_dashboard_widget() để tạo một widget mới.
Ở đoạn trên, mình có:
Trong đó:
- tp_notice: ID của widget. ID này phải là duy nhất và không trùng với bất kỳ widget nào khác.
- Ghi chú nhắc nhở: Tiêu đề của widget.
- tp_create_admin_widget_notice_callback: Tên hàm sẽ được thực thi trong widget này. Hàm này sẽ chứa nội dung hiển thị trong widget với ID là tp_notice.
Tiếp theo, chúng ta sẽ tạo hàm tp_create_admin_widget_notice_callback() đã được khai báo ở trên để hiển thị nội dung trong widget. Trong hàm này, mình sẽ bắt đầu bằng cách hiển thị một đoạn văn bản đơn giản.
Lưu lại và kết quả ta có:
Nếu bạn muốn tạo một widget để hiển thị danh sách các bài viết mới nhất từ website của mình hoặc bất kỳ website nào khác, hãy xem hướng dẫn trong bài "Build Your Own WordPress Dashboard Widget for Any RSS Feed."
Vì bạn có toàn quyền sử dụng mã PHP trong phần này, bạn có thể sáng tạo và tùy chỉnh nội dung hiển thị theo ý thích.
Cơ chế sử dụng là khá đơn giản. Tuy nhiên, khi bạn đã nắm vững những điều cơ bản, hy vọng bạn sẽ dễ dàng khám phá và áp dụng những cách sáng tạo hơn để làm cho các widget trong trang quản trị của bạn trở nên hữu ích hơn.