Damit beim Versand von einem E-Mail z.B. ein Datum aus einem ACF-Feld umformatiert werden kann, muss ein eigener MergeTag erstellt werden.
WICHTIG: bei Zeile 6 muss die Action “nf_init” aufgerufen werden, nicht wie in der Dokumentation die Action “ninja_forms_loaded”
Link zu Doku: https://developer.ninjaforms.com/codex/creating-merge-tags/
/* * Register the new merge tag class on the `nf_init` hook. * not ninja_forms_loaded Action */ add_action( 'nf_init', 'phprog_register_merge_tags' ); function phprog_register_merge_tags() { Ninja_Forms()->merge_tags['phprog_merge_tags'] = new PHPROG_MergeTags(); } class PHPROG_MergeTags extends NF_Abstracts_MergeTags { /* * The $id property should match the array key where the class is registered. */ protected $id = 'phprog_merge_tags'; public function __construct() { parent::__construct(); /* Translatable display name for the group. */ $this->title = __( 'Kunde', 'ninja-forms' ); /* Individual tag registration. */ $this->merge_tags = apply_filters( 'ninja_forms_register_user_settings', array( 'veranstaltungsdatum' => array( 'id' => 'veranstaltungsdatum', 'tag' => '{kunde:veranstaltungsdatum}', // The tag to be used. 'label' => __( 'Veranstaltungsdatum', 'phprog' ), // Translatable label for tag selection. 'callback' => 'veranstaltungsdatum' // Class method for processing the tag. See below. ), ) ); } /** * The callback method for the {kunde:veranstaltungsdatum} merge tag. * @return string */ public function veranstaltungsdatum() { $orig = get_post_meta( $this->post_id(), 'datum', true ); $year = substr( $orig, 0, 4 ); $month = substr( $orig, 4, 2 ); $day = substr( $orig, 5, 2 ); return $day . '.' . $month . '.' . $year; } /** * Added post_id to Class * * @return bool|int */ protected function post_id() { global $post; if ( is_admin() && defined( 'DOING_AJAX' ) && DOING_AJAX ) { // If we are doing AJAX, use the referer to get the Post ID. $post_id = url_to_postid( wp_get_referer() ); } elseif ( $post ) { $post_id = $post->ID; } else { return false; // No Post ID found. } return $post_id; } }
Ninja Forms: eigenen MergeTag erstellen