2016-03-08 2 views
2

Я создал пользовательскую форму для почтовых ящиков и пытаюсь добавить подписчиков через нее. Он работает, когда я не пытаюсь отправлять пользовательские данные поля формы. Кто-нибудь знает, как я могу заставить его работать с полями пользовательских форм? В базе данных он cf_1, cf_2 и т.д., и это то, что я пытался о внесении изменений в код здесь без особого везения: https://support.mailpoet.com/knowledgebase/plugin-form-integrate/Mailpoet Custom Forms and Custom Fields

$user_data = array(
    'email' => $email, 
    'firstname' => $firstname, 
    'lastname' => $lastname, 
    'cf_1' => $phone, 
    'cf_2' => $company_name, 
    'cf_3' => $dob, 
); 

Любые идеи? Ура!

ответ

1

Я проскочил через какой-то код плагина и понял, как это сделать. Таким образом, основываясь на данном примере авторы плагина я сделал это изменение:

//in this array firstname and lastname are optional 
$user_data = array(
    'email' => $email, 
    'firstname' => $firstname, 
    'lastname' => $lastname 
); 

$custom_data = array(
    'cf_1' => $phone, 
); 

$data_subscriber = array(
    'user' => $user_data, 
    'user_field' => $custom_data, 
    'user_list' => array('list_ids' => array(3)) 
); 

$helper_user = WYSIJA::get('user','helper'); 
$helper_user->addSubscriber($data_subscriber); 

Так довольно много в data_subscriber многомерного массива вам нужно добавить еще одно поле для «user_field», и это должно быть массивом, см. массив $ custom_data, который я создал.

Протестировано и работает, надеюсь, что это поможет кому-то еще!