esc_html() Function
WordPress’s esc_html() function escapes HTML characters to prevent security issues, particularly XSS (Cross-Site Scripting) attacks. It converts characters like <, >, and & into their HTML entity equivalents.

Why to Use
When displaying user-generated content or data from the database, using esc_html() ensures that any potentially harmful HTML or JavaScript code is safely rendered as text, not executed.
How to Use esc_html()
The esc_html() function takes a string as its input and returns a version of the string with HTML entities converted. Here’s a basic example of its usage:
<?php
// Example of using esc_html()
$user_input = '<script>alert("Hacked!");</script>';
// Outputting user input safely
echo esc_html($user_input);
?>
In this example, the user input is a potentially harmful script tag. When passed through esc_html(), it is converted to:
<script>alert("Hacked!");</script>
This output is safe to display because the script tag is escaped and will not be executed by the browser.
Practical Example in a WordPress Theme
<?php
// Assume we are in a WordPress template file and have a variable with user data
$user_name = get_user_meta($user_id, 'display_name', true);
// Outputting user name safely
?>
<p><?php echo esc_html($user_name); ?></p>
In this code snippet, get_user_meta() retrieves a user’s display name, and esc_html() ensures that any HTML tags or special characters in the name are properly escaped before outputting them.
When to Use:
- When outputting user input.
- When displaying data from the database.
- In themes and plugins to ensure security.
Related Functions:
- esc_attr() for HTML attributes.
- esc_url() for URLs.
Always use esc_html() to keep your WordPress site secure and free from malicious code.
Read Also:-
Custom Query Filter in elementor
Also Visit:-