Issue Setting Dynamic Recipient
-
Hello,
first I would like to thank you for developing this plugin, it is going to be really helpful to me !
However I do have some issues setting it up.My objective is to set a different recipient according to the chosen France departement or other countries. Thus, I have set two select field. One listing the countries and the French regions. The other one is only activated when a French region is selected.
This is my configuration for the hidden fields :
[simplehidden dynamic-mail-to-filter "wpcf7-dynamic-mail-to-example-filter"] [simplehidden dynamic-mail-to-fields "region","departements-PACA","departements-Occitanie","departements-Nouvelle-Aquitaine","departements-Auvergne-Rhone-Alpes","departements-Bourgogne-Franche-Comt","departements-Centre-Val-de-Loire","departements-Pays-de-Loire","departements-Bretagne","departements-Normandie","departements-ile-de-france","departements-grand-est","departements-hauts-de-france","departements-corse"]
And this the code I have added to functions.php :
class wpcf7_dynamic_mail_to_examples { // these are the email addresses to be used to for setting the recipient email address in cf7 private $email_address_1 = '[email protected]'; private $email_address_2 = '[email protected]'; private $email_address_3 = '[email protected]'; public function __construct() { add_filter('wpcf7-dynamic-mail-to-example-filter', array($this, 'filter'), 10, 2); } // end public function __construct public function filter($recipient, $args=array()) { //echo '(',$recipient,')'; //print_r($args); die; if (isset($args['region'])) { if ($args['region'] == 'Guadeloupe') { $recipient = $this->email_address_1; } elseif ($args['region'] == 'Guyane') { $recipient = $this->email_address_1; } elseif ($args['region'] == 'La Réunion') { $recipient = $this->email_address_1; }elseif ($args['region'] == 'Martinique') { $recipient = $this->email_address_1; }elseif ($args['region'] == 'Mayotte') { $recipient = $this->email_address_1; }elseif ($args['region'] == 'Allemagne') { $recipient = $this->email_address_2; }elseif ($args['region'] == 'Belgique') { $recipient = $this->email_address_3; }elseif ($args['region'] == 'Espagne') { $recipient = $this->email_address_1; }elseif ($args['region'] == 'Luxembourg') { $recipient = $this->email_address_3; }elseif ($args['region'] == 'Italie') { $recipient = $this->email_address_1; }elseif ($args['region'] == 'Suisse') { $recipient = $this->email_address_1; } } if (isset($args['departements-PACA'])) { if ($args['departements-PACA'] == 'Alpes-de-Haute-Provence (04)') { $recipient = $this->email_address_1; }elseif ($args['departements-PACA'] == 'Hautes-Alpes (05)') { $recipient = $this->email_address_1; }elseif ($args['departements-PACA'] == 'Alpes-Maritimes (06)') { $recipient = $this->email_address_1; }elseif ($args['departements-PACA'] == 'Bouches-du-Rh?ne (13)') { $recipient = $this->email_address_2; }elseif ($args['departements-PACA'] == 'Var (83)') { $recipient = $this->email_address_1; }elseif ($args['departements-PACA'] == 'Vaucluse (84)') { $recipient = $this->email_address_1; } } if (isset($args['departements-Occitanie'])) { if ($args['departements-Occitanie'] == 'Ariège (09)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Aude (11)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Aveyron (12)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Gard (30)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Haute-Garonne (31)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Gers (32)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Hérault (34)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Lot (46)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Lozère (48)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Hautes-Pyrénées (65)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Pyrénées-Orientales (66)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Tarn (81)') { $recipient = $this->email_address_2; }elseif ($args['departements-Occitanie'] == 'Tarn-et-Garonne (82)') { $recipient = $this->email_address_2; } } if (isset($args['departements-Nouvelle-Aquitaine'])) { if ($args['departements-Nouvelle-Aquitaine'] == 'Charente (16)') { $recipient = $this->email_address_1; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Charente-Maritime (17)') { $recipient = $this->email_address_1; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Corrèze (19)') { $recipient = $this->email_address_2; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Creuse (23)') { $recipient = $this->email_address_2; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Dordogne (24)') { $recipient = $this->email_address_1; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Gironde (33)') { $recipient = $this->email_address_1; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Landes (40)') { $recipient = $this->email_address_2; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Lot-et-Garonne (47)') { $recipient = $this->email_address_1; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Pyrénées-Atlantiques (64)') { $recipient = $this->email_address_2; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Deux-Sèvres (79)') { $recipient = $this->email_address_1; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Vienne (86)') { $recipient = $this->email_address_1; }elseif ($args['departements-Nouvelle-Aquitaine'] == 'Haute-Vienne (87)') { $recipient = $this->email_address_2; } } if (isset($args['departements-Auvergne-Rhone-Alpes'])) { if ($args['departements-Auvergne-Rhone-Alpes'] == 'Ain (01)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Allier (03)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Ardèche (07)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Cantal (15)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Dr?me (26)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Isère (38)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Loire (42)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Haute-Loire (43)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Puy-de-D?me (63)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Rh?ne (69D)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Métropole de Lyon (69M)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Savoie (73)') { $recipient = $this->email_address_1; }elseif ($args['departements-Auvergne-Rhone-Alpes'] == 'Haute-Savoie (74)') { $recipient = $this->email_address_1; } } if (isset($args['departements-Bourgogne-Franche-Comt'])) { if ($args['departements-Bourgogne-Franche-Comt'] == 'C?te-d\'Or (21)') { $recipient = $this->email_address_2; }elseif ($args['departements-Bourgogne-Franche-Comt'] == 'Doubs (25)') { $recipient = $this->email_address_1; }elseif ($args['departements-Bourgogne-Franche-Comt'] == 'Jura (39)') { $recipient = $this->email_address_1; }elseif ($args['departements-Bourgogne-Franche-Comt'] == 'Nièvre (58)') { $recipient = $this->email_address_2; }elseif ($args['departements-Bourgogne-Franche-Comt'] == 'Haute-Sa?ne (70)') { $recipient = $this->email_address_1; }elseif ($args['departements-Bourgogne-Franche-Comt'] == 'Sa?ne-et-Loire (71)') { $recipient = $this->email_address_2; }elseif ($args['departements-Bourgogne-Franche-Comt'] == 'Yonne (89)') { $recipient = $this->email_address_2; }elseif ($args['departements-Bourgogne-Franche-Comt'] == 'Territoire de Belfort (90)') { $recipient = $this->email_address_1; } } if (isset($args['departements-Centre-Val-de-Loire'])) { if ($args['departements-Centre-Val-de-Loire'] == 'Cher (18)') { $recipient = $this->email_address_2; }elseif ($args['departements-Centre-Val-de-Loire'] == 'Eure-et-Loir (28)') { $recipient = $this->email_address_2; }elseif ($args['departements-Centre-Val-de-Loire'] == 'Indre (36)') { $recipient = $this->email_address_2; }elseif ($args['departements-Centre-Val-de-Loire'] == 'Indre-et-Loire (37)') { $recipient = $this->email_address_2; }elseif ($args['departements-Centre-Val-de-Loire'] == 'Loir-et-Cher (41)') { $recipient = $this->email_address_2; }elseif ($args['departements-Centre-Val-de-Loire'] == 'Loiret (45)') { $recipient = $this->email_address_2; } } if (isset($args['departements-Pays-de-Loire'])) { if ($args['departements-Pays-de-Loire'] == 'Loire-Atlantique (44)') { $recipient = $this->email_address_2; }elseif ($args['departements-Pays-de-Loire'] == 'Maine-et-Loire (49)') { $recipient = $this->email_address_2; }elseif ($args['departements-Pays-de-Loire'] == 'Mayenne (53)') { $recipient = $this->email_address_2; }elseif ($args['departements-Pays-de-Loire'] == 'Sarthe (72)') { $recipient = $this->email_address_2; }elseif ($args['departements-Pays-de-Loire'] == 'Vendée (85)') { $recipient = $this->email_address_2; } } if (isset($args['departements-Bretagne'])) { if ($args['departements-Bretagne'] == 'C?tes-d\'Armor (22)') { $recipient = $this->email_address_2; }elseif ($args['departements-Bretagne'] == 'Finistère (29)') { $recipient = $this->email_address_2; }elseif ($args['departements-Bretagne'] == 'Ille-et-Vilaine (35)') { $recipient = $this->email_address_2; }elseif ($args['departements-Bretagne'] == 'Morbihan (56)') { $recipient = $this->email_address_2; } } if (isset($args['departements-Normandie'])) { if ($args['departements-Normandie'] == 'Calvados (14)') { $recipient = $this->email_address_1; }elseif ($args['departements-Normandie'] == 'Eure (27)') { $recipient = $this->email_address_1; }elseif ($args['departements-Normandie'] == 'Manche (50)') { $recipient = $this->email_address_1; }elseif ($args['departements-Normandie'] == 'Orne (61)') { $recipient = $this->email_address_1; }elseif ($args['departements-Normandie'] == 'Seine-Maritime (76)') { $recipient = $this->email_address_1; } } if (isset($args['departements-ile-de-france'])) { if ($args['departements-ile-de-france'] == 'Paris (75)') { $recipient = $this->email_address_1; }elseif ($args['departements-ile-de-france'] == 'Seine-et-Marne (77)') { $recipient = $this->email_address_1; }elseif ($args['departements-ile-de-france'] == 'Yvelines (78)') { $recipient = $this->email_address_1; }elseif ($args['departements-ile-de-france'] == 'Essonne (91)') { $recipient = $this->email_address_1; }elseif ($args['departements-ile-de-france'] == 'Hauts-de-Seine (92)') { $recipient = $this->email_address_1; }elseif ($args['departements-ile-de-france'] == 'Seine-Saint-Denis (93)') { $recipient = $this->email_address_1; }elseif ($args['departements-ile-de-france'] == 'Val-de-Marne (94)') { $recipient = $this->email_address_1; }elseif ($args['departements-ile-de-france'] == 'Val-d\'Oise (95)') { $recipient = $this->email_address_1; } } if (isset($args['departements-grand-est'])) { if ($args['departements-grand-est'] == 'Ardennes (08)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Aube (10)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Marne (51)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Meurthe-et-Moselle (54)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Meuse (55)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Haute-Marne (52)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Moselle (57)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Bas-Rhin (67)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Haut-Rhin (68)') { $recipient = $this->email_address_2; }elseif ($args['departements-grand-est'] == 'Vosges (88)') { $recipient = $this->email_address_2; } } if (isset($args['departements-hauts-de-france'])) { if ($args['departements-hauts-de-france'] == 'Aisne (02)') { $recipient = $this->email_address_1; }elseif ($args['departements-hauts-de-france'] == 'Nord (59)') { $recipient = $this->email_address_3; }elseif ($args['departements-hauts-de-france'] == 'Oise (60)') { $recipient = $this->email_address_1; }elseif ($args['departements-hauts-de-france'] == 'Pas-de-Calais (62)') { $recipient = $this->email_address_3; }elseif ($args['departements-hauts-de-france'] == 'Somme (80)') { $recipient = $this->email_address_1; } } if (isset($args['departements-corse'])) { if ($args['departements-corse'] == 'Haute-Corse (2B)') { $recipient = $this->email_address_1; }elseif ($args['departements-corse'] == 'Corse-du-Sud (2A)') { $recipient = $this->email_address_1; } } return $recipient; } // end public function filter
Do you have an idea why it is not working ?
I do have two questions :
– what do I have to write in the mail “to” field ?
– do i have to add wpcf7_dynamic_mail_to class to the functions.php file ?Thanks a lot for your help !
Bye
- The topic ‘Issue Setting Dynamic Recipient’ is closed to new replies.