In dit artikel komt aan bod hoe gebruik gemaakt kan worden van variabelen binnen WordPress om vervolgens toe te passen in een post, pagina en/of contactformulier (zowel post als e-mail).
Alle informatie moet worden opgeslagen in een CSV-bestand in de root van de website. In dit voorbeeld zullen trainingscodes en -datums worden gebruikt. Het CSV-bestand ziet er als volgt uit:
code;datum
code1;datum1
code2;datum2
code3;datum3
Wanneer de onderstaande codes susscesvol zijn toegepast kan bijvoorbeeld de shortcode [ training code="code1" ] worden gebruikt, verwijder hiervoor de spaties aan het begin en eind.
Vervolgens dienen de onderstaande codes te worden toegevoegd aan de functions.php.
Doe dit bij voorkeur in het child-theme om bij updates te voorkomen dat alle informatie verloren gaat.
function training_datum($atts) { $csv_file = 'bestand.csv'; if (($handle = fopen($csv_file, "r")) !== false) { $datum_codes = array(); while (($data = fgetcsv($handle, 1000, ";")) !== false) { $datum_codes[$data[0]] = $data[1]; } fclose($handle); } else { return 'Fout bij het inlezen van het CSV-bestand: ' ; } $datum = $datum_codes[$atts['code']] ?? ''; return $datum; } add_shortcode('training', 'training_datum');
Deze bovenstaande functie verzorgt het inlezen van het CSV-bestand en haalt de juiste datum a.d.h.v. de code uit het bestand.
add_filter( 'wpcf7_form_elements', 'dacrosby_do_shortcodes_wpcf7_form' ); function dacrosby_do_shortcodes_wpcf7_form( $form ) { $form = do_shortcode( $form ); return $form; } add_filter( 'wpcf7_mail_components', 'dacrosby_do_shortcodes_wpcf7_mail_body', 10, 2 ); function dacrosby_do_shortcodes_wpcf7_mail_body( $components, $number ) { $components['body'] = do_shortcode( $components['body'] ); $components['subject'] = do_shortcode( $components['subject'] ); return $components; }
Bron: https://snippets.cacher.io/snippet/1d3090c8dfedb67b8b4f
De bovenstaande functies dienen voor het functioneren binnen de contacts forms 7.