Mặc định WordPress loại bỏ các thẻ HTML khỏi phần mô tả taxonomy như chuyên mục, tag vì lý do bảo mật. Để cho phép sử dụng HTML, tôi tắt cơ chế lọc mặc định này bằng đoạn mã dưới đây:
// Vô hiệu bộ lọc loại bỏ mã HTML khỏi phần mô tả chuyên mục, tag
foreach ( array( 'pre_term_description' ) as $filter ) {
remove_filter( $filter, 'wp_filter_kses' );
add_filter( $filter, 'wp_filter_post_kses' );
}
// Vô hiệu bộ lọc loại bỏ mã HTML khi hiển thị phần mô tả
foreach ( array( 'term_description' ) as $filter ) {
remove_filter( $filter, 'wp_kses_data' );
}
Tuy nhiên WordPress không hỗ trợ soạn thảo HTML cho các mô tả, nên tôi quyết định dùng cách khác, là shortcode:
// Cho phép sử dụng shortcode trong phần mô tả danh mục, thẻ và taxonomy add_filter( 'term_description', 'do_shortcode' );

Tùy thuộc giao diện, trình tạo trang (page builder) hoặc các plugin đang kích hoạt, WordPress có thể vẫn tự động loại bỏ các thẻ HTML được tạo ra từ shortcode. Nếu dòng mã trên không làm shortcode hiển thị đầy đủ, bạn hãy thử thay thế bằng đoạn mã hoàn chỉnh dưới đây:
// Cho phép thực thi shortcode trong phần mô tả taxonomy add_filter( 'term_description', 'do_shortcode' ); // Ngăn WordPress tự động bao bọc các shortcode trong thẻ paragraph add_filter( 'term_description', 'shortcode_unautop' ); // Vô hiệu bộ lọc bảo mật vốn loại bỏ các đoạn mã HTML/JS remove_filter( 'pre_term_description', 'wp_filter_kses' );





