This repository is the reconstruction of the now retired offical ALTCHA plugin for WordPress version 1.
For the new version 2/3, see github.com/altcha-org/altcha-wordpress-next repository. However, it is no longer open source and some free features of the version 1 are now paid features.
ALTCHA offers a free, open-source Captcha alternative, ensuring robust spam protection while respecting user privacy and GDPR compliance.
Read more about ALTCHA: https://github.com/altcha-org/altcha
Website: https://altcha.org
WordPress Plugin Directory: none yet
Having troubles? Please report in Issues.
- CoBlocks
- Contact Form 7
- Elementor Pro Forms
- Enfold Theme
- Formidable Forms
- Forminator
- GravityForms
- HTML Forms
- WPDiscuz
- WPForms
- WP-Members
- WordPress Login, Register, Password reset
- WordPress Comments
- WooCommerce
- Custom HTML (with a short code
[altcha])
The plugin supports the Floating UI but with known limitations:
Currently the Floating UI does not work with:
- Forminator with multi-step forms
You cannot install version 1 currently by searching the plugin directory (at work). Alternatively, install the plugin manually:
- Download the
.zipfrom the Releases. - Upload
altchafolder to the/wp-content/plugins/directory - Activate the plugin through the 'Plugins' menu in WordPress
- Review the settings and enable your integrations
The free self-hosted mode is enabled by default after installation. No additional setup is required, except enabling the integrations you need in the plugin settings.
This plugin requires the WordPress REST API. If you are using any "Disable REST API" plugins, ensure that the endpoint /altcha/v1/challenge is allowed.
The plugin provides several hooks to customize or extend its functionality.
-
apply_filters('altcha_challenge_url', $challenge_url)
Override the challenge URL.
Returns:string -
apply_filters('altcha_integrations', $integrations)
Modify the list of available integrations. Supported values:captcha,captcha_spamfilter,shortcode.
Returns:array<string> -
apply_filters('altcha_plugin_active', false, $name)
Check if an integration by$nameis active.
Returns:bool -
apply_filters('altcha_widget_attrs', $attrs, $mode, $language, $name)
Override widget attributes.
Returns:array<string, mixed> -
apply_filters('altcha_widget_html', $html, $mode, $language, $name)
Override the entire widget HTML.
Returns:string -
apply_filters('altcha_translations', $translations, $language)
Override translation strings.
Returns:array<string, string>
-
do_action('altcha_verify_result', $result)
Triggered after payload verification.-
$result:boolverification result. -
Full server verification payload is available via:
AltchaPlugin::$instance->spamfilter_result
-
GPLv2