为 Wordpress 中的每个新帖子自动创建一个新的 Mailchimp 邮件列表(M​​ailchimp API 3.0+)

Posted

技术标签:

【中文标题】为 Wordpress 中的每个新帖子自动创建一个新的 Mailchimp 邮件列表(M​​ailchimp 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 邮件列表(M​​ailchimp API 3.0+)的主要内容,如果未能解决你的问题,请参考以下文章

如何在wordpress中为帖子创建自定义属性[关闭]

如何根据wordpress中的当前帖子自动选择一个值?

使用 Wordpress,我如何创建一个链接到自定义帖子类型存档的新菜单项?

为每个帖子以不同的方式订购 Wordpress 分类法

PHP 在WordPress 3.1+上自动通知您的会员新帖子

PHP 为WORDPRESS中的帖子创建小小的URL