Nforms download

<?php

// neosem_2021

// Set default values from ninja forms
add_filter('ninja_forms_render_default_value', function($default_value, $field_type, $field_settings) {
  if ( 'email_subject' == $field_settings['key'] ) {
    $default_value = get_field('email_subject');
  }

  if ( 'email_content' == $field_settings['key'] ) {
    $default_value = htmlspecialchars('[S7-EMAIL=' . get_the_ID() .']' . get_field('email_content'));
  }
  
  if ( 'email_from_name' == $field_settings['key'] ) {
    $default_value = get_field('email_from_name') ?: get_the_title(get_field('author')) . ' | NeoSEM';
  }

  if ( 'email_redirect' == $field_settings['key'] ) {
    $default_value = get_field('email_redirect_url') ?: get_field('download_email_redirect_url', 'option');
  }

  return $default_value;
}, 10, 3);


add_filter('ninja_forms_merge_tag_value_hidden', function($field_value) {
  if ( !empty($field_value) && strpos($field_value, '[S7-EMAIL=') !== false) {
    $id = intval(preg_replace('#\[S7-EMAIL=(\d{1,})\](.*)#s', '$1', $field_value)); // Retrieve the post id from string
    return App\template('email.download', [
      'id'      => $id,
      'author'  => get_field('author', $id),
      'content' => preg_replace('#\[S7-EMAIL=(\d{1,})\]#', '$2', htmlspecialchars_decode($field_value)), // Remove S7-email from string
    ]);
  }
  return $field_value;
});

add_filter('ninja_forms_get_html_safe_fields', function($fields) {
  $fields[] = 'hidden';
  return $fields;
});
Last Updated:
Contributors: Niek Vlam, Suite Seven