2016-11-05 1 views
0

좋은 아침 모두를 게시하고 닌자 형태의 데이터는 (Chimpmail 유사) Enormail로 전송합니다. 불행하게도 Enormail은 Chimpmail만큼 지원되지 않지만 고객이이 서비스를 사용하고자합니다.닌자 양식은 내가 Enormail의 API 일하고</p> <p>, 공정

은 지금은 내 functions.php에서 작업에 다음 코드를 가지고 있지만 작동하지 않는 것 : 나는 다른 PHP 파일 내부에 require_once를 코드를 추가하는 경우

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'); 

와 사용자가 직접 호출 Enormail 서비스에 추가되므로 API가 정상적으로 작동합니다. 하지만 필드 안에 채워진 데이터를 가져 와서 API 내부에 배치하여 메일 링리스트에 사용자를 추가 할 수없는 것 같습니다.

여기에 무슨 문제가 있습니까? 감사합니다.

+0

'require_once ('/emapi/emapi.php');'파일 경로에 대해 확실합니까? 주의 :'/'는 루트 디렉토리를 참조합니다. –

+0

맞습니다. 올바른 파일 경로는 ('emapi/emapi.php')이어야합니다. $ ninjaname 및 $ ninjamail 변수가 제대로 작동하지 않습니다. $ result = $ em-> contacts-> add ('API of CERTAIN LIST', 'Henk Rensenbrink', 'my email')와 같은 문자열을 추가하면됩니다. 그것은 올바르게 추가되지만, 변수는 아무 것도하지 않습니다. –

답변

2

파일 경로가 맞습니까? require_once ('/emapi/emapi.php');

/은 루트 디렉토리를 나타냅니다. 파일 경로를 확인하십시오.

+0

맞습니다. 올바른 파일 경로는 ('emapi/emapi.php')이어야합니다.하지만 여전히 $ ninjaname 및 $ ninjamail 변수가 제대로 작동하지 않습니다. $ result = $ em-> contacts-> add ('API of CERTAIN LIST', 'Henk Rensenbrink', 'my email')와 같은 문자열을 추가하면됩니다. 그것은 올바르게 추가되지만, 변수는 아무 것도하지 않습니다. 나는 또한 시도했다 : $ result = $ em-> contacts-> add ('API of CERTAIN LIST', '. $ ninjaname.', '. $ ninjamail.'); –

+0

그런 다음 field_id에서 이메일과 이름을 확인하십시오. –

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에게 감사드립니다.