Ниндзя формирует пост-процесс

Доброе утро всем,

Я работаю над API Enormail и хочу, чтобы данные из формы ниндзя отправлялись в Enormail (по аналогии с Chimpmail). К сожалению, Enormail не так поддерживается, как Chimpmail, но мой клиент хотел бы использовать этот сервис.

Сейчас у меня в файле functions.php работает следующий код, но он не работает:

function add_to_enormail( $form_id ) {
   global $ninja_forms_processing;
   $form_id = $ninja_forms_processing->get_form_ID();
   if (  $form_id == 2 || $form_id == 3 ) {
       switch ($form_id) {
       case 1: //Form 1 
           $ninjamail = $ninja_forms_processing->get_field_value( 6 );
           break;
       case 2: //Form 2
           $ninjaname = $ninja_forms_processing->get_field_value( 13 );
           $ninjamail = $ninja_forms_processing->get_field_value( 10 );
           break;
     }  
   }
  require_once ('/emapi/emapi.php');
  $em = new emapi('API KEY OF USER', 'JSON');
  $result = $em->contacts->add('API OF CERTAIN LIST', $ninjaname, $ninjamail);
};

add_action( 'ninja_forms_post_process', 'add_to_enormail' );

Если я добавлю код require_once в другой php-файл и назову его непосредственно пользователем, он добавляется в службу Enormail, поэтому API работает нормально. Но, похоже, я не могу заполнить данные внутри полей и поместить их в API, чтобы добавить пользователя в список рассылки.

Что здесь происходит не так. Спасибо

2 ответа

Вы уверены, что путь к файлу? require_once ('/emapi/emapi.php');

/ ссылается на корневой каталог. Проверьте путь к файлу.

function add_to_enormail() {
    global $ninja_forms_processing;
    $form_id = $ninja_forms_processing->get_form_ID();
    if ( $form_id == 3 ) {
            $ninjaname = $ninja_forms_processing->get_field_value( 13 );
            $ninjamail = $ninja_forms_processing->get_field_value( 10 );
    } else if ( $form_id == 2 ) {
            $ninjaname = $ninja_forms_processing->get_field_value( 14 );
            $ninjamail = $ninja_forms_processing->get_field_value( 6 );
    }
require_once ('emapi/emapi.php');
$em = new emapi('API KEY', 'JSON');
$result = $em->contacts->add('LIST API', $ninjaname, $ninjamail);
};

add_action( 'ninja_forms_post_process', 'add_to_enormail' );

Это решило мою проблему, обе формы из форм ниндзя теперь отправляют данные в Enormail. Также спасибо Хоршеду Аламу за указание на начало каталога.

Другие вопросы по тегам