This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.
By default, an unprivileged user can only submit a few tag types with no attributes: p, br, strong, b, i, ul, ol, and li. You can use this filter if you want to add more.
When Formidable Forms Pro is active, additional tags are allowed by default for better compatibility with rich text fields, including h1-h6, blockquote, pre, code, hr, del, and ins.
Parameters
- $allowed_html (array)
Examples
Basic example
Use this code example to include a div with a class attribute.
add_filter('frm_allowed_form_input_html', 'add_div_form_input_html');
function add_div_form_input_html( $allowed_html ) {
if ( ! isset( $allowed_html['div'] ) ) {
$allowed_html['div'] = array();
}
$allowed_html['div']['class'] = true;
return $allowed_html;
}
Allow more tag types
Use this code example to add more tag types, such as h2, h6, multiple div attributes, and an anchor tag.
Disclaimer: It's important to note that permitting anchor tags from untrusted user input can pose a security risk. While we advise against it, there may be situations where it might be necessary for backward compatibility.
add_filter('frm_allowed_form_input_html', 'allowed_form_input_html');
function allowed_form_input_html( $allowed_html ) {
$allowed_html['h2'] = array();
$allowed_html['h6'] = array();
if ( ! isset( $allowed_html['div'] ) ) {
$allowed_html['div'] = array();
}
$allowed_html['div']['style'] = true;
$allowed_html['div']['class'] = true;
if ( ! isset( $allowed_html['a'] ) ) {
$allowed_html['a'] = array();
}
$allowed_html['a']['href'] = true;
$allowed_html['a']['target'] = true;
$allowed_html['a']['rel'] = true;
return $allowed_html;
}