Anbei ein kleines Tutorial wie man einen E-Mail Counter für das Contact Form 7 in WordPress erstellt.

Voraussetzung sind folgende Plugins:
Contact Form 7
Contact Form 7 Dynamic Text Extension

Wenn beide Plugins installiert sind muss nun etwas Code in die wp-content/plugins/contact-form-7/includes/functions.php von Contact Form 7 eingefügt werden.
Man kann den Code auch alternativ in wp-content/plugins/contact-form-7-dynamic-text-extension/contact-form-7-dynamic-text-extension.php von der Contact Form 7 Dynamic Text Extension einfügen. Beides funktioniert gleich gut.

//SPECIAL COUNTER-SHORTCODE FOR EMAILS --> START
//Define the key to store in the database
define( 'CF7_COUNTER', 'cf7-counter' );
 
//Create the shortcode which will set the value for the DTX field
function cf7dtx_counter(){
    $val = get_option( CF7_COUNTER, 0) + 1;  //Increment the current count
    return $val;
}
add_shortcode('CF7_counter', 'cf7dtx_counter');
 
//Action performed when the mail is actually sent by CF7
function cf7dtx_increment_mail_counter(){
    $val = get_option( CF7_COUNTER, 0) + 1; //Increment the current count
    update_option(CF7_COUNTER, $val); //Update the settings with the new count
}
add_action('wpcf7_mail_sent', 'cf7dtx_increment_mail_counter');
//SPECIAL COUNTER-SHORTCODE FOR EMAILS --> END

Im Formular muss jetzt nur noch der passende Shortcode rein:

[dynamichidden cf7-counter "CF7_counter"]

Und in der Email kann man dann das Feld anzeigen lassen:

[cf7-counter]

Erklärungen:
– Der Zähler wird nur erhöht, wenn tatsächlich eine E-Mail versendet wird.
– Wichtig nach einem Update von Contact Form 7 muss der Code wieder erneut eingefügt werden!