J'ai environ 6 sous-domaines qui ont un lien "contactez-nous" et j'envoie tous ces liens à un seul formulaire qui utilise "Formulaire de contact 7". J'ajoute? From = nom de site à chacun des liens afin que je puisse définir une variable $ referencedFrom dans le formulaire de contact. Les deux seules choses qui me manquent sont (1) la possibilité d'insérer cette variable calledFrom dans l'e-mail que je reçois chaque fois que quelqu'un soumet le formulaire et (2) La possibilité de rediriger l'utilisateur vers le site ils sont venus from (stocké dans $ referencedFrom)Pirater le code "Contact Form 7" pour ajouter un champ "Referred By"
Des idées?
est ici un peu de code à partir includes/classes.php que je pensais peut-être partie de l'insert de courrier électronique, mais sa ne fait pas beaucoup ...
function mail() {
global $referrer;
$refferedfrom = $referrer; //HERE IS MY CUSTOM CODE
$fes = $this->form_scan_shortcode();
foreach ($fes as $fe) {
$name = $fe['name'];
$pipes = $fe['pipes'];
if (empty($name))
continue;
$value = $_POST[$name];
if (WPCF7_USE_PIPE && is_a($pipes, 'WPCF7_Pipes') && ! $pipes->zero()) {
if (is_array($value)) {
$new_value = array();
foreach ($value as $v) {
$new_value[] = $pipes->do_pipe($v);
}
$value = $new_value;
} else {
$value = $pipes->do_pipe($value);
}
}
$this->posted_data[$name] = $value;
$this->posted_data[$refferedfrom] = $referrer; //HERE IS MY CUSTOM CODE
}
Je pense aussi que je pourrais insérer la Code referredFrom quelque part dans cette fonction et ...
function compose_and_send_mail($mail_template) {
$regex = '/\[\s*([a-zA-Z][0-9a-zA-Z:._-]*)\s*\]/';
$callback = array(&$this, 'mail_callback');
$mail_subject = preg_replace_callback($regex, $callback, $mail_template['subject']);
$mail_sender = preg_replace_callback($regex, $callback, $mail_template['sender']);
$mail_body = preg_replace_callback($regex, $callback, $mail_template['body']);
$mail_recipient = preg_replace_callback($regex, $callback, $mail_template['recipient']);
$mail_headers = "From: $mail_sender\n";
if ($mail_template['use_html'])
$mail_headers .= "Content-Type: text/html\n";
$mail_additional_headers = preg_replace_callback($regex, $callback,
$mail_template['additional_headers']);
$mail_headers .= trim($mail_additional_headers) . "\n";
if ($this->uploaded_files) {
$for_this_mail = array();
foreach ($this->uploaded_files as $name => $path) {
if (false === strpos($mail_template['attachments'], "[${name}]"))
continue;
$for_this_mail[] = $path;
}
return @wp_mail($mail_recipient, $mail_subject, $mail_body, $mail_headers,
$for_this_mail);
} else {
return @wp_mail($mail_recipient, $mail_subject, $mail_body, $mail_headers);
}
}
http://wordpress.org/extend/plugins/contact-form-7/ –