Okay! I think I’ve got it. I’m assuming you’re using the plugin’s built-in CF7_URL
shortcode, which, in the current version of 3.2, uses the $_SERVER['SERVER_NAME']
variable for pulling the site domain.
I took a look at the webpage you provided and can see that it uses Nginx and I’ve discovered this old WordPress Core ticket that in some server configurations for Nginx, that variable is outputted as _
(an underscore) which seems to be happening with your site.
For an immediate fix, you can edit the /wp-content/plugins/contact-form-7-dynamic-text-extension/includes/shortcodes.php
file and replace lines 104-110…
// Build the full URL from the $_SERVER array
$url = sprintf('http%s://', is_ssl() ? 's' : '');
if (!empty($_SERVER['SERVER_PORT']) && intval($_SERVER['SERVER_PORT']) !== 80) {
$url = $url . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI'];
} else {
$url = $url . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
}
with this
// Build the full URL
if (!empty($_SERVER['SERVER_PORT']) && intval($_SERVER['SERVER_PORT']) !== 80) {
$url = network_home_url() . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI'];
} else {
$url = network_home_url($_SERVER['REQUEST_URI']);
}
We’ll certainly update our plugin with this code in the future as well.
Thank you!