【问题标题】:WordPress Email, Custom Post types and Email SubscriptionsWordPress 电子邮件、自定义帖子类型和电子邮件订阅
【发布时间】:2012-11-09 12:27:19
【问题描述】:

我有客户想要我构建的东西,我可以使用 wp_mail,但我想知道它应该如何构建是否可行 - 不,他们不想使用第三方网站或软件。

本质上,一个小部件将接收客户的电子邮件地址,我们可以:

有某种界面,所以我们可以说每天、每周或每月发送 5、10、15 个类别 x、y、x 的帖子

这并不难,但问题是:我将如何存储收到的电子邮件?新专栏?

使用这些电子邮件和自定义帖子类型来创建电子邮件模板、新闻通讯等,这些模板可以在指定时间发送到一组电子邮件(在这种情况下是所有现在存储的电子邮件)。

这个也不难,它是自定义帖子类型部分,我将如何创建自定义帖子类型,当发布帖子时,帖子的发布方式与帖子或页面不同。而是像一个一样存储,但我可以在电子邮件正文中使用它的内容,而不是像帖子或页面一样显示它。

基本上我不应该去: site.come/email_templates/post_id

所以第二个有点复杂,但我想知道你们如何处理这种情况或想法。

【问题讨论】:

    标签: wordpress email wordpress-theming custom-post-type


    【解决方案1】:

    这里有一些关于电子邮件订阅部分的想法。至于自定义帖子类型 - 我没有太多经验,抱歉:)

    如果您想要一个快速简便的电子邮件订阅解决方案,请创建一个 wp 选项(请参阅http://codex.wordpress.org/Function_Reference/add_option),它本质上是一个将类别映射到表中键的哈希表。

    对于哈希表中的每个类别,存储订阅该类别的用户的用户 ID 和/或电子邮件数组。

    一旦你有了这个数据结构,就很容易在 wp_mail 中操作和使用它。这是我为我的一个插件编写的一些示例代码:

            $subscribers = get_option('subscribers');
            $categories = get_the_category($post->ID);
    
            if( !empty($categories) && !empty($subscribers)){
                $emails = array();
                //Go through each category and accumulate the necessary e-mail addresses
                foreach($categories as $category){
                    $catID = $category->term_id;
                    if( !empty($subscribers[$catID]) ){
                        foreach($subscribers[$catID] as $userID => $trash){
                            $user      = get_userdata($userID);
                            $userEmail = array( $userID => $user->user_email );
                            if( !in_array($userEmail, $emails) ){
                                $emails   = $emails + $userEmail; 
                                //you can use something like implode(", ", $emails)
                                //in the Bcc: part when you send out the e-mail.
                            }
                        }
                    }
                }
            }
    

    注意事项:

    • 这是一个快速而肮脏的解决方案。如果类别的数量和订阅者的数量增长很大,您最好在数据库中创建一个表并以这种方式维护它
    • 请务必考虑删除类别时的情况(即删除类别时挂钩操作)以及这将如何影响您的数据结构
    • 假设类别不经常删除/添加,哈希表方法效果很好

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2021-08-25
      • 2022-01-06
      • 2016-03-03
      • 2013-03-11
      • 2016-07-05
      相关资源
      最近更新 更多