为 Wordpress 中的每个新帖子自动创建一个新的 Mailchimp 邮件列表(Mailchimp API 3.0+)
Posted
技术标签:
【中文标题】为 Wordpress 中的每个新帖子自动创建一个新的 Mailchimp 邮件列表(Mailchimp API 3.0+)【英文标题】:Automatically create a new Mailchimp mailing list for each new post in Wordpress (Mailchimp API 3.0+) 【发布时间】:2018-06-25 17:51:09 【问题描述】:要求:
-
创建新帖子时,会在 Mailchimp 中创建一个新邮件列表
在 Mailchimp 中创建新邮件列表时,列表 ID 存储在帖子的元数据中
查看帖子时,使用唯一的邮件列表 ID 在页面上创建邮件列表订阅表单
问题:
-
每次创建新帖子时,以及仅在创建(未更新)时运行该功能的最佳 WP 挂钩是什么? (This Stack Overflow post 推荐使用
transition_post_status
挂钩。)
Mailchimp API 用于创建新的邮件列表。有没有开源的包装类呢?
存储唯一邮寄列表列表 ID 以便将其存储在帖子的元数据中的最佳方式是什么? add_post_meta()
?
【问题讨论】:
【参考方案1】:我的解决方案,使用DrewM's Mailchimp API wrapper:
<?php
use \DrewM\MailChimp\MailChimp;
function so_48291110_new_mailchimp_list_on_publish( $new_status, $old_status, $post )
// The first time our new post is published
if ( $new_status == 'publish' && $old_status != 'publish' )
// Mailchimp API instance
$MailChimp = new MailChimp('My Mailchimip API Key');
// Mailchimp Mailing List info
$mailchimp_new_list_data = array(
"name" => "Mailing list for $post->post_title",
"contact" => array(
"company" => "My company",
/* ... */
),
"campaign_defaults" => array(
"from_name" => "My name",
/* ... */
),
/* ... */
);
// Create new mailing list
$mailchimp_result = $MailChimp->post("lists", $mailchimp_new_list_data);
// Store mailing list ID as metadata
add_post_meta(
get_the_id(), // post ID
'mailchimp_list_id', // meta key
$mailchimp_result["id"], // meta value
true // unique
);
// Add action
add_action('transition_post_status', 'so_48291110_new_mailchimp_list_on_publish', 10, 3);
【讨论】:
以上是关于为 Wordpress 中的每个新帖子自动创建一个新的 Mailchimp 邮件列表(Mailchimp API 3.0+)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Wordpress,我如何创建一个链接到自定义帖子类型存档的新菜单项?