Un utente ha chiesto
Categoria: Easy Forms for Mailchimp di WordPress
Domanda: yikes-mailchimp-before-submission non funziona

Ho creato questa funzione perché il modulo aggiorna la variabile di unione se il membro esiste
Voglio cercare un contatto nell’elenco e, se esiste, non aggiornare la variabile MMERGE9

la funzione di ricerca funziona ma anche se il contatto esiste il valore restituito è il valore di mme-9 sul form

add_filter (‘yikes-mailchimp-before-submission-1’, ‘do_not_update_source’);
funzione do_not_update_source ($ user_data) {
$ api_key = ‘la mia chiave API’;
$ testnews = ‘id lista y’; //
$ dc = substr ($ api_key, strpos ($ api_key, ‘-‘) + 1); // us5, us8 ecc.
$ ricerca dati = array ();
$ membernews = searchmember ($ datasearch, md5 ($ user_data[‘EMAIL’]), $ testnews);
if (md5 ($ user_data[‘EMAIL’]) == $ newsmembro-> id) {
$ esiste = “esiste”;
$ user_data[‘MMERGE9’]= $ membernews-> merge_fields-> MMERGE9;

}
Altro {
$ esiste = “non esiste”;
$ user_data[‘MMERGE9′] = ‘sito articoli newsletter’;
}

restituisce $ user_data;
}
funzione rudr_mailchimp_curl_connect ($ url, $ request_type, $ api_key, $ data = array ()) {
$ mch = curl_init ();
if ($ request_type == ‘GET’)
{$ URL = ‘?’ . http_build_query ($ dati);}
if ($ request_type == ‘POST’) {
curl_setopt ($ mch, CURLOPT_POST, vero);
// curl_setopt ($ mch, CURLOPT_POSTFIELDS, json_encode ($ dati)); // invia i dati in json
}
if ($ request_type == ‘PATCH’) {
curl_setopt ($ mch, CURLOPT_POST, vero);
curl_setopt ($ mch, CURLOPT_CUSTOMREQUEST, “PATCH”);
curl_setopt ($ mch, CURLOPT_POSTFIELDS, json_encode ($ dati)); // invia i dati in json
}
if ($ request_type == ‘PUT’) {
curl_setopt ($ mch, CURLOPT_POST, vero);

curl_setopt ($ mch, CURLOPT_CUSTOMREQUEST, “PUT”);
curl_setopt ($ mch, CURLOPT_POSTFIELDS, json_encode ($ dati)); // invia i dati in json
}
if ($ request_type == ‘DELETE’) {
curl_setopt ($ mch, CURLOPT_POST, vero);
curl_setopt ($ mch, CURLOPT_CUSTOMREQUEST, “DELETE”);
curl_setopt ($ mch, CURLOPT_POSTFIELDS, json_encode ($ dati)); // invia i dati in json
}

$ intestazioni = array (
‘Tipo di contenuto: applicazione/json’,
‘Autorizzazione: Basic’ .base64_encode (‘utente:’. $ Api_key)
);
curl_setopt ($ mch, CURLOPT_URL, $ url);
curl_setopt ($ mch, CURLOPT_HTTPHEADER, $ intestazioni);
curl_setopt ($ mch, CURLOPT_USERAGENT, ‘PHP-MCAPI / 2.0’);
curl_setopt ($ mch, CURLOPT_RETURNTRANSFER, vero); // non restituisce il risultato, lo scrivo nella variabile
curl_setopt ($ mch, CURLOPT_CUSTOMREQUEST, $ request_type); // secondo l’API MailChimp: POST / GET / PATCH / PUT / DELETE
curl_setopt ($ mch, CURLOPT_TIMEOUT, 360000);
curl_setopt ($ mch, CURLOPT_SSL_VERIFYPEER, false); // controlla il certificato per la connessione TLS / SSL
curl_setopt ($ mch, CURLOPT_POSTFIELDS, json_encode ($ dati)); // invia i dati in json
return curl_exec ($ mch);
}

funzione searchmember ($ data, $ memberid, $ list)
{$ api_key = ‘la mia CHIAVE API’;
$ dc = substr ($ api_key, strpos ($ api_key, ‘-‘) + 1);
$ ricerca dati = $ dati;
// URL di connessione
$ ricercaurl = ‘https: // ‘;. $ dc. ‘. api.mailchimp.com/3.0/lists/’.$list.’/members/’.$memberid. ”;
$ bodysearch = json_decode (rudr_mailchimp_curl_connect ($ urlsearch, ‘GET’, $ api_key, $ datasearch));
restituisce $ bodysearch;
}

  • Collaboratore plugin

    (@yikesitskevin)

    Ciao @taieb,

    Buon lavoro. Penso che il problema sia che il nome del nostro filtro è cambiato da yikes-mailchimp-before-submission Per yikes-mailchimp-filter-before-submission.

    Puoi provare lo stesso codice con il nuovo filtro (yikes-mailchimp-filter-before-submission-1 per l’id del modulo `).

    A un certo punto avevamo chiamato azioni e filtri yikes-mailchimp-before-submission e abbiamo cambiato i filtri in yikes-mailchimp-filter-before-submission.

    Mi dispiace per quello!

    Fammi sapere se funziona.

    Saluti,
    Kevin.

    (@taieb)

    Ciao Kevin,
    funziona grazie per l’inferno.
    Saluti,
    Taieb

    Collaboratore plugin

    (@yikesitskevin)

    Degno di nota! Fammi sapere se hai bisogno di aiuto per estendere il plugin. Sono sempre interessato a come gli sviluppatori estendono il nostro plugin.

    (@taieb)

    Ciao solo per informazione il plugin aggiorna il timestamp_opt se il membro esiste nell’elenco

    quindi ho commentato // ‘timestamp_opt’ => current_time (‘Ymd H: i: s’, 1),
    in process_form_submission_ajax.php e process_form_submission.php
    // Questo è l’array che passeremo all’API Mailchimp
    $ data_data = array (
    ‘email_address’ => $ sanitized_email,
    ‘merge_fields’ => $ merge_variables,
    // ‘timestamp_opt’ => current_time (‘Ymd H: i: s’, 1),
    );
    Saluti,
    Taieb

Hai risolto il tuo problema?

0 / 0

Lascia un commento 0

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *