0

大家,早安,

我正在研究 Enormail 的 API,并希望将来自 ninja 表单的数据发送到 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 中以将用户添加到邮件列表。

这里出了什么问题。谢谢

4

2 回答 2

2

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

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

于 2016-11-05T10:08:18.470 回答
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 指出目录的开头 /。

于 2016-11-05T10:23:20.027 回答