忍者形成后期过程

时间:2016-11-05 09:49:12

标签: wordpress email-integration ninja-forms

大家早上好,

我正在研究Enormail的API,并希望将忍者形式的数据发送到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' );

如果我在不同的php文件中添加require_once代码并直接将其添加到Enormail服务的用户,那么API工作正常。 但似乎我无法在字段中填充数据并将其放在API中以将用户添加到邮件列表中。

这里出了什么问题。 感谢

2 个答案:

答案 0 :(得分:2)

您确定文件路径吗? require_once ('/emapi/emapi.php');

/指的是根目录。检查文件路径。

答案 1 :(得分:0)

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发送数据。还要感谢Khorshed Alam指出目录的开头/。