Đoạn mã này được thiết kế để tạo một Phân loại Tùy chỉnh (Custom Taxonomy) mới có tên là Website và gán nó vào các bài viết thông thường (Post Type post). Về cơ bản, nó tạo ra một loại “chuyên mục” (category) song song với chuyên mục mặc định của WordPress.
🎯 Mục đích
Mục đích chính là giúp bạn phân loại các bài viết không chỉ theo “Chuyên mục” (Category) và “Thẻ” (Tag) mặc định, mà còn theo một tiêu chí mới là Website. Ví dụ: Nếu bạn đang viết về các tin tức công nghệ, bạn có thể phân loại bài viết theo nguồn hoặc lĩnh vực website mà tin tức đó đề cập (ví dụ: “Google”, “Microsoft”, “Apple”).
A. Tắt thông báo lỗi, cảnh báo (Plugin/Theme Notices):
// Tắt Hầu Hết các thông báo admin (Admin Notices)
function remove_all_admin_notices() {
global $wp_filter;
if ( isset( $wp_filter['user_admin_notices'] ) ) {
unset( $wp_filter['user_admin_notices'] );
}
if ( isset( $wp_filter['admin_notices'] ) ) {
unset( $wp_filter['admin_notices'] );
}
if ( isset( $wp_filter['all_admin_notices'] ) ) {
unset( $wp_filter['all_admin_notices'] );
}
}
add_action( 'in_admin_header', 'remove_all_admin_notices', 999 );
Hoặc
// Tắt Hầu Hết các thông báo admin (Admin Notices)
function remove_all_admin_notices() {
global $wp_filter;
if ( isset( $wp_filter['user_admin_notices'] ) ) {
unset( $wp_filter['user_admin_notices'] );
}
if ( isset( $wp_filter['admin_notices'] ) ) {
unset( $wp_filter['admin_notices'] );
}
if ( isset( $wp_filter['all_admin_notices'] ) ) {
unset( $wp_filter['all_admin_notices'] );
}
}
add_action( 'in_admin_header', 'remove_all_admin_notices', 999 );
B. Tắt thông báo cập nhật của WordPress:
// Tắt tất cả thông báo cập nhật (bao gồm theme, plugin, core)
function hide_update_notices() {
remove_action( 'admin_notices', 'update_nag', 3 );
remove_action( 'admin_notices', 'maintenance_nag' );
}
add_action( 'admin_notices', 'hide_update_notices', 1 );
⚙️ Cách Sử Dụng Mã
-
Sao chép mã: Sao chép toàn bộ đoạn mã PHP.
-
Dán vào
functions.php: Mở filefunctions.phpcủa Theme hoặc Child Theme đang hoạt động và dán đoạn mã này vào cuối file. -
Lưu file: Lưu lại thay đổi.
-
Kiểm tra kết quả:
-
Truy cập Bảng điều khiển (Dashboard) WordPress.
-
Bạn sẽ thấy một mục menu mới có tên là “Website” xuất hiện ngay dưới mục “Bài viết” (Posts).
-
Khi chỉnh sửa bài viết, bạn sẽ thấy một hộp meta mới để chọn và thêm các thuật ngữ “Website” vào bài viết đó.
-
🧠 Giải Thích Chi Tiết Cấu trúc Code
Đoạn mã này sử dụng hàm cốt lõi của WordPress là register_taxonomy() và được kích hoạt thông qua hook init.
1. Hàm và Hook
| Thành phần | Mã | Ý nghĩa |
| Hàm | register_taxonomy( $taxonomy, $object_type, $args ) |
Hàm PHP để tạo một Taxonomy mới. |
| Tên Taxonomy | 'website' |
Tên định danh (slug) của Taxonomy trong database và code. |
| Post Type Gán | 'post' |
Gán Taxonomy ‘website’ này vào Post Type mặc định là ‘Bài viết’. |
| Hook | add_action('init', 'dpm_tao_taxonomy_website'); |
Đảm bảo rằng Taxonomy được đăng ký sớm trong quá trình tải của WordPress. |
2. Các Tham số (Arguments) Quan trọng
| Tham số | Giá trị | Ý nghĩa và Tác dụng |
labels |
(Array) | Tập hợp các chuỗi hiển thị trên giao diện quản trị (Dashboard, menu, nút Thêm mới, v.v.). |
hierarchical |
true |
Quan trọng: Cho phép Taxonomy có cấu trúc phân cấp (giống như Category/Chuyên mục, có cha và con). |
public |
true |
Cho phép Taxonomy được truy cập công khai trên giao diện người dùng (Front-end). |
show_ui |
true |
Hiển thị giao diện quản lý Taxonomy trên Dashboard. |
show_admin_column |
true |
Hiển thị Taxonomy này dưới dạng cột trong danh sách Bài viết. |
show_in_nav_menus |
true |
Cho phép thêm các thuật ngữ (term) của Taxonomy này vào Menu điều hướng của website. |
show_in_rest |
true |
Cho phép Taxonomy hoạt động với WP REST API (cần thiết nếu bạn dùng trình chỉnh sửa Gutenberg hoặc phát triển ứng dụng di động). |
rewrite |
(Array) | Thiết lập cấu trúc đường dẫn URL (Permalink). Slug sẽ là yourdomain.com/website/ten-website-da-tao/. |
