Połącz swoją stronę WordPress z Mailchimp w prosty sposób
Objaśnienie
Aby połączyć swoją stronę WordPress z Mailchimp, będziesz potrzebować klucza API oraz identyfikatora listy (List ID) z Mailchimp. Ten kod pomoże Ci zintegrować Mailchimp z Twoją stroną WordPress, umożliwiając odwiedzającym subskrybowanie Twojego newslettera bezpośrednio z Twojej strony.
Oto szybki przegląd, jak to działa:
- Klucz API i identyfikator listy: Musisz zastąpić
'your_mailchimp_api_key'
oraz'your_mailchimp_list_id'
swoim rzeczywistym kluczem API Mailchimp i identyfikatorem listy. Są one niezbędne do połączenia Twojej strony z kontem Mailchimp. - AJAX dla subskrypcji: Kod wykorzystuje AJAX do obsługi żądań subskrypcyjnych bez odświeżania strony. Dzięki temu doświadczenie użytkownika jest płynniejsze.
- Sprawdzenie bezpieczeństwa: Używany jest nonce (unikalny token), aby zapewnić, że żądania subskrypcyjne są bezpieczne i legalne.
- Formularz subskrypcyjny: Prosty formularz jest tworzony za pomocą shortcode. Możesz umieścić ten shortcode w dowolnym miejscu na swojej stronie, aby wyświetlić formularz subskrypcyjny.
- Obsługa odpowiedzi: Kod sprawdza, czy subskrypcja była udana i zapewnia użytkownikowi informację zwrotną.
Aby wyświetlić formularz subskrypcyjny, użyj shortcode [wp_dudecom_mailchimp_form]
w swoich postach lub stronach. To spowoduje wyświetlenie formularza, w którym użytkownicy mogą wpisać swój adres e-mail, aby subskrybować Twoją listę Mailchimp.
Pamiętaj, że ta konfiguracja wymaga posiadania konta Mailchimp oraz dostępu do swojego klucza API i identyfikatora listy. Gdy wszystko będzie skonfigurowane, Twoi odwiedzający będą mogli łatwo subskrybować Twój newsletter, a ich adresy e-mail zostaną automatycznie dodane do Twojej listy Mailchimp.
Kod
<?php
// Function to integrate Mailchimp with WordPress using API Key
function wp_dudecom_mailchimp_integration() {
// Add your Mailchimp API Key here
$api_key = 'your_mailchimp_api_key';
// Add your Mailchimp List ID here
$list_id = 'your_mailchimp_list_id';
// Check if the API Key and List ID are set
if (empty($api_key) || empty($list_id)) {
return;
}
// Enqueue jQuery for AJAX
wp_enqueue_script('jquery');
// Localize script to pass data to JavaScript
wp_localize_script('jquery', 'wp_dudecom_mailchimp', array(
'ajax_url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('wp_dudecom_mailchimp_nonce')
));
// Add AJAX action for logged-in users
add_action('wp_ajax_wp_dudecom_subscribe', 'wp_dudecom_subscribe_to_mailchimp');
// Add AJAX action for non-logged-in users
add_action('wp_ajax_nopriv_wp_dudecom_subscribe', 'wp_dudecom_subscribe_to_mailchimp');
}
add_action('wp_enqueue_scripts', 'wp_dudecom_mailchimp_integration');
// Function to handle subscription to Mailchimp
function wp_dudecom_subscribe_to_mailchimp() {
// Verify nonce for security
check_ajax_referer('wp_dudecom_mailchimp_nonce', 'security');
// Get email from AJAX request
$email = isset($_POST['email']) ? sanitize_email($_POST['email']) : '';
if (!is_email($email)) {
wp_send_json_error('Invalid email address.');
}
// Mailchimp API URL
$api_url = 'https://<dc>.api.mailchimp.com/3.0/lists/' . $list_id . '/members/';
// Prepare data for Mailchimp API
$data = array(
'email_address' => $email,
'status' => 'subscribed'
);
// Setup request headers
$headers = array(
'Authorization' => 'Basic ' . base64_encode('user:' . $api_key),
'Content-Type' => 'application/json'
);
// Make API request to Mailchimp
$response = wp_remote_post($api_url, array(
'headers' => $headers,
'body' => json_encode($data)
));
// Check for errors in API response
if (is_wp_error($response)) {
wp_send_json_error('Failed to subscribe. Please try again.');
}
// Decode response body
$response_body = json_decode(wp_remote_retrieve_body($response), true);
if (isset($response_body['status']) && $response_body['status'] == 'subscribed') {
wp_send_json_success('Successfully subscribed!');
} else {
wp_send_json_error('Failed to subscribe. Please try again.');
}
}
// Shortcode to display subscription form
function wp_dudecom_mailchimp_form_shortcode() {
ob_start();
?>
<form id="wp-dudecom-mailchimp-form">
<input type="email" name="email" placeholder="Enter your email" required>
<button type="submit">Subscribe</button>
</form>
<div id="wp-dudecom-mailchimp-response"></div>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#wp-dudecom-mailchimp-form').on('submit', function(e) {
e.preventDefault();
var email = $(this).find('input[name="email"]').val();
$.ajax({
url: wp_dudecom_mailchimp.ajax_url,
type: 'POST',
data: {
action: 'wp_dudecom_subscribe',
email: email,
security: wp_dudecom_mailchimp.nonce
},
success: function(response) {
$('#wp-dudecom-mailchimp-response').html(response.data);
}
});
});
});
</script>
<?php
return ob_get_clean();
}
add_shortcode('wp_dudecom_mailchimp_form', 'wp_dudecom_mailchimp_form_shortcode');
?>
Instrukcja
Lokalizacja pliku: Dodaj poniższy kod do pliku functions.php
swojego motywu lub do pliku niestandardowej wtyczki.
Wymagania wstępne:
- Upewnij się, że masz konto Mailchimp.
- Pobierz swój klucz API Mailchimp oraz identyfikator listy.
Kroki wdrożenia:
- Dostęp do panelu WordPress: Zaloguj się do swojego panelu administracyjnego WordPress.
- Otwórz Edytor motywu: Przejdź do Wygląd > Edytor motywu lub użyj edytora kodu, jeśli wolisz edytować pliki bezpośrednio.
- Edytuj functions.php: Zlokalizuj i otwórz plik
functions.php
swojego aktywnego motywu. - Wstaw kod: Skopiuj i wklej podany kod do pliku
functions.php
. - Zamień klucz API i identyfikator listy: W kodzie zamień
'your_mailchimp_api_key'
oraz'your_mailchimp_list_id'
na swój rzeczywisty klucz API Mailchimp i identyfikator listy. - Zapisz zmiany: Zapisz zmiany w pliku
functions.php
. - Użyj shortcode: Dodaj shortcode
[wp_dudecom_mailchimp_form]
do dowolnego wpisu lub strony, na której chcesz, aby formularz subskrypcyjny się pojawił. - Przetestuj formularz: Odwiedź stronę, na której dodałeś shortcode i przetestuj formularz subskrypcyjny, aby upewnić się, że działa poprawnie.
Jeśli napotkasz jakiekolwiek problemy lub potrzebujesz dalszej pomocy, rozważ skontaktowanie się z wp-dude.com w celu uzyskania profesjonalnej pomocy przy wdrożeniu lub zaawansowanej funkcjonalności.