C
by Aurovrata Venet 4 (11 reviews)

Contact Form 7 Polylang Module

This plugin allows multilingual contact form 7 management using the polylang plugin.

Contact Form 7 Polylang Module ranks #3,297 among WordPress.org plugins with 4,000+ active installations, is #39 of 628 in the Multisite category, a 4/5 rating from 11 reviews, and was last updated Dec 13, 2023. Data from WordPress.org, refreshed twice daily — see methodology.

Tested up to WP 6.4 (Current: 7.1)
vtrunk Current Version vtrunk
Updated 2 years ago Last Update on 13 Dec, 2023
Refreshed 14 hours ago Last Refreshed on
#39 of 628 in Multisite Top 5% by installs No update in over a year
View on WordPress.org
Rank
#3,297
No change
Active Installs
4K+
-19.5%
KW Avg Position
143.5
No change
Downloads
101.1K
+7 today
Support Resolved
0%
No change
Rating
80%
Review 4 out of 5
4 (11 reviews)

Next Milestone 5K

Total Progress 93.7%
4K+ 5K+
30
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 63 more installs to reach 5K+

Rank Changes

3,131 3,214 3,298 3,381 3,464 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
3,131 3,215 3,299 3,382 3,466 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
Current #3,297
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

0 10 20 30 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
0 10 20 30 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

4.0
11 reviews
Overall 80%
5
6 (55%)
4
2 (18%)
3
1 (9%)
2
1 (9%)
1
1 (9%)

Security History

Source: WPVulnerability

No known vulnerabilities on record for Contact Form 7 Polylang Module. Checked 2 days ago.

Track This Plugin

Get detailed analytics, keyword tracking, and position alerts delivered to your inbox.

Start Tracking Free

Plugin Details

Version
trunk
Last Updated
Dec 13, 2023
Requires WP
4.7+
Tested Up To
6.4
PHP Version
5.6 or higher
Author
Aurovrata Venet

Support & Rating

Rating
★ ★ ★ ★ ☆ 4
Reviews
11
Support Threads
0
Resolved
0%

Keywords

Upgrade to Pro

Unlock keyword rankings, search positions, and detailed analytics with a Pro subscription.

Upgrade Now

TL;DR

AI summary of the plugin's readme

This plugin is for WordPress site owners running multilingual sites who need Contact Form 7 to work with the Polylang translation plugin. It solves the problem of managing separate translated forms by letting a single shortcode with a form key automatically load the correct language version and stay stable even when post IDs differ between servers.

  • Multilingual CF7 form management
  • Single shortcode for all translations
  • Form keys instead of IDs
  • Backward compatible with old shortcodes
  • Multisite installation support
  • Requires Polylang and CF7 Smart Grid-layout
  • Filter for synchronised form metakeys
  • Hidden field _wpcf7_lang on front-end

Frequently Asked Questions

Common questions about Contact Form 7 Polylang Module

You have Polylang setup using a default language and a set of additional languages. When Polylang translates a custom post (such as the wpcf7 post), it keeps track of all translations using the post ID, by pairing the primary language post ID with its corresponding translated post IDs which is what the CF7 Polylang Extension does for you. So you need to search your translation using the primary language post ID, to do this you need to make use of the Polylang functions, $form_id = 252; //assuming this is your default language form ID $default_lang = pll_default_language('slug'); $current_lang = pll_current_language('slug); //the current language your page is being viewed as if($current_lang != $default_lang){ $form_id = pll_get_post($form_id, $current_lang); if(empty($form_id)){ //if a translation does not exists $form_id = 252; //show the default form } } //display your form echo do_shortcode('[contact-form-7 id=”'.$form_id.'″]');
Polylang only filters links and provides the current language function pll_current_language() for the front-end requests. Submissions are handled using admin hooks by the CF7 plugin and these do not have access to the pll functions. To overcome this limitation, v2.3 of this plugin introduced the _wpcf7_lang hidden variable which is automatically submitted. So you can find out the current language of the submission using the $_POST['_wpcf7_lang'] value.
The cf7 plugin provides a special mail tag [_site_url] which prints the site url. However, this is not one of the filtered polylang links. Therefore as of v2.3 this plugin now has the [_home_url] mail tag that you an use in your mail body and which will show the home url of site from which it was submitted from. Alternatively, you could also construct your own special mail tag, such as [_lang] using the follwoing code in your functions.php file, add_filter( 'wpcf7_special_mail_tags','my_cf7_mail_tag', 10,3); function my_cf7_mail_tag($output, $name, $html ) { if ( '_lang' == $name ) { $filter = $html ? 'display' : 'raw'; $output = $_POST['_wpcf7_lang']; } return $output; }
If you have a plugin which has specific translation strings used in CF7 forms, you need to tell the CF7 Polylang plugin to load the resources for the required locale. To do this use the following filter hook, add_filter('cf7pll_load_plugin_translation_resource', 'add_translation_resource'); function add_translation_resource($plugin_translation){ //the $plugin_translation is an array into which you need to add your plugin slug and version number. $plugin_translation['my-plugin-slug']=$version. return $plugin_translation; } this filter should be used by plugin developers to ensure their plugin translation resources are loaded.

Sign In / Register

You need to sign in or register to use this feature.