Lightweight and simple contact form with no additional user-unfriendly options. You can add the contact form to any page with a shortcode contact_form
. Plugin is integrated with plugin Akismet and GreCAPTCHA which protect against spam.
Lite Contact Form
By default, the plugin uses the administrator’s email address which is set in the WordPress general settings. It can be changed by adding attributes to the shortcode.
[contact_form sender="noreply@domain.tld" recipient="Blog Admin <admin@domain.tld>"]
The plugin has no built-in spam protection features, but is integrated with other plugins which do that job in the best way. You can use for it plugin Akismet or/and GreCAPTCHA.
By default, the fields description is displayed in placeholders, but you can change it to labels.
[contact_form style="labels"]
If you want only to change CSS style just add selectors to file style.css in active theme or create new file lite-contact-form.css in active theme.
The plugin is simple and there are no settings to add custom fields, you need to add PHP code e.g. in functions.php in the active theme.
Use the add_filter function to add a custom field, there are three filters that you can use.
function custom_fields_before() {
return '<p class="lcf-validate">
<input type="text" name="test" placeholder="Field with JS validation">
<span class="lcf-tip"></span>
</p>';
}
add_filter('lcf_before_fields', 'custom_fields_before');
function custom_fields_before_message() {
return '<p>
<input type="text" name="test" placeholder="Field without JS validation">
<span class="lcf-tip"></span>
</p>';
}
add_filter('lcf_before_message_field', 'custom_fields_before_message');
function custom_fields_after() {
return 'some html code';
}
add_filter('lcf_after_fields', 'custom_fields_after');
You can validates the entire request or only your field.
function custom_field_validate($result, $field, $value) {
if(empty($value)) {
$result['status'] = 'blocked';
$result['fields'][] = array('field' => $field, 'message' => 'This field is required.');
}
return $result;
}
add_filter('lcf_validate_field_name', 'custom_field_validate', 10, 3);
function custom_validate_request($result, $fields) {
if(...) {
$result['status'] = 'error';
$result['message'] = 'There was an error trying to send your message.';
}
return $result;
}
add_filter('lcf_validate', 'custom_validate_request', 10, 2);
There are two more filters that you can use to change the email subject and the message body.
function custom_mail_subject($subject, $fields) {
return $subject;
}
add_filter('lcf_mail_subject', 'custom_mail_subject', 10, 2);
function custom_mail_message($message, $fields) {
return $message;
}
add_filter('lcf_mail_message', 'custom_mail_message', 10, 2);