The kses_remove_filters() WordPress PHP function removes all KSES input form content filters.
Usage
kses_remove_filters();
Parameters
- None
More information
See WordPress Developer Resources: kses_remove_filters()
Important information:
- KSES is a recursive acronym which stands for “KSES Strips Evil Scripts”.
- KSES is an HTML/XHTML filter written in PHP.
- It removes all unwanted HTML elements and attributes, and it also does several checks on attribute values.
- KSES can be used to avoid Cross-Site Scripting (XSS).
- This function does not remove the kses_init() function from ‘init’ hook (priority is default) and does not remove kses_init() function from ‘set_current_user’ hook (priority is also default).
Examples
Remove KSES filters before displaying content
function my_custom_content_filter( $content ) { // Remove KSES filters kses_remove_filters(); // Process content with your custom filter $content = my_custom_filter_function( $content ); // Return the filtered content return $content; } add_filter( 'the_content', 'my_custom_content_filter' );
Disable KSES filters for a specific user role
function disable_kses_for_contributors() { if ( current_user_can( 'contributor' ) ) { kses_remove_filters(); } } add_action( 'init', 'disable_kses_for_contributors' );
Remove KSES filters when updating a post
function my_update_post_function( $post_id, $post_data ) { // Remove KSES filters kses_remove_filters(); // Update post with new data wp_update_post( $post_data ); }
Temporarily remove KSES filters when saving post content
function my_save_post_function( $post_id, $post_data ) { // Temporarily remove KSES filters kses_remove_filters(); // Save post with new data wp_update_post( $post_data ); // Re-add KSES filters after saving kses_init_filters(); }
Remove KSES filters for a specific custom post type
function disable_kses_for_custom_post_type( $post ) { if ( 'my_custom_post_type' === $post->post_type ) { kses_remove_filters(); } } add_action( 'the_post', 'disable_kses_for_custom_post_type' );