There is already a huge list built for you, which can be returned by wp_kses_allowed_html()
based on context, and filtered via the wp_kses_allowed_html
filter, also contextually. Creating that list should not be hard.
However, “the whole range of HTML tags that might appear in an HTML email” should be pretty close to the range allowed for an ordinary post so wp_kses_post()
ought to get you a long way with little effort.
Related Posts:
- Sanitizing, Validating and Escaping in WordPress (Plugin)
- MITM risk of not sanitizing?
- Sanitize $_GET variable when comparing
- Can we validate data from jquery
- How can I properly sanitize the update_option in WordPress?
- Making my plugin multi-site compatible
- Checking if an attribute exists in a shortcode
- How to create a WordPress plugin for another wordpress plugin?
- How to add option box in “Edit Post” plugin API?
- use WordPress theme / plugin editor in my plugin
- What is the best way to output plugin result in certain url
- Plugin development: how to create a form and get custom data?
- Security error WP 4.0 + WP phpBB Bridge [closed]
- WordPress adding tags into plugin content
- Plugin Development: WordPress processes twice on post update. How to skip process on the first?
- Execute a function using ajax
- This doesnt work for Plugin get_template_directory_uri()
- Is it possible to upload a template file to a directory that can be used by all themes?
- WordPress hook for visiting a post
- Fatal error: Class not found in
- Showing Notifications While Activating Plugin
- Workflow and best practice for documentation [closed]
- Creating a modal dialog without jQuery
- What user roles should have wp_unique_post_slug_is_bad_flat_slug filter applied?
- Where to put my global functions?
- Hidden Custom Post Type
- Is there a way to programmatically enable a plugin?
- Adding Attachment Display Settings in custom media frame
- How to include code into functions.php file via a plugin
- Do We Need to Validate, Sanitize, or Filter Simple Numerical Superglobals (Cookies and Post)?
- How can I get WordPress to save comments in markdown format?
- Simple ajax call not working in wordpress plugin
- How to save post change url youtube link?
- __callStatic method handler passed to add_action causes bug in PHP
- New databes tables with – WooCommerce – for developers [closed]
- Plugin-generated pages use Not Found or Pages Archive templates?
- 306 MB of wp_options occupied by WordPress SEO Plugin, is that normal? [closed]
- Perform internal redirect in WordPress?
- How to prevent plugins from loading jQuery
- Inject HTML meta tag inside wordpress tag using add_shortcode
- Disable Individual Plugins (specifically in Custom Post Types) on a per-post basis?
- Can plugin2 uninstall plugin1 at the very beginning of plugin2’s installation?
- Basic question about accessing scripts in my plugin
- Automatically download, install and activate plugins that my plugin depends, how?
- How to create WordPress custom end point with multiple parameters?
- How to redirect to same page after form submission
- plugin dev – minimum base css specificity?
- I changed font of wordpress dashboard but it is slow!
- WordPress SVN UTF-8 issue
- Creating a functionality plugin to edit seriously simple podcasting
- Plugin temporary files and files to download via FTP
- Asynchronous request in wordpress
- change or add css to theme from plugin
- How to add credit card validation check to wordpress [closed]
- Displaying data from another database
- Every time I de-activate a custom plugin, the site encounters a critical error
- Next Previous Post in wordpress with previous / next link with title?
- Custom Fields for Page Edits
- Apply html elements in php statement
- How to make sure settings are not lost when plugin is updated?
- How Can i import plugin option?
- How to Get Category Name When Export Products
- Remove List Bullets
- How to override any plugin file in the child theme
- How to set plugin auto-update Enabled by default?
- Custom plugin activation error
- Define global variable in theme file and call that variable in plugin file
- How to capture hidden values with Gravity Forms
- How to translate to spanish wordpress hardcoded content/files?
- Custom Plugin Update
- How do I stop plugins and themes from getting updated in a new plugin?
- How come W3TC is allowed to host premium code in the WordPress repo?
- Multiple image selection custom widget
- How to Create a Learning Management Plugin in WordPress to Manage Courses [LMS]
- Passing function into add_action always returns the first argument
- Paid Membership Pro displaying a user name in PHP
- Make another copy of a plugin and install it
- Store admin page into variable
- Custom plugin giving: wp-admin/admin-ajax.php 400 (Bad Request)
- WP Plugin CSS not being applied to page
- Creating Nested custom fields
- plugin not hooking to my custom hook
- Populate select option with JSON file
- Enahanced search for edit.php and custom post type
- Unable to sync woocommerce variations
- Can’t find variable is_single in my jQuery plugin
- Escaping and sanitization
- How to save default values into an option and delete those upon actvation and deactivation in wordpress?
- How to Add Jquery FullCalendar in wp plugin in admin
- Plugin hook breaks new WP 4.0 media library grid view?
- Ajax, jQuery and WordPress
- How to get site homepage from plugin?
- Unable to show 4 products in a row
- WordPress check box unchecked on null value ternary operator [plugin development]
- How to add image for custom taxonomy
- WordPress Hooks : Where to place callbacks that repetitively yield the same effect?
- wordpress Ajax success doesn’t return the value
- Meta box not displaying on the plugin page
- public custom posts not showing in my wordpress plugin
- Allow manage_options capability for specific user only for specific plugin?