利用wordpress和feedburner为博客添加email newsletter

七月 26, 2009

最近一直在调查和学习一些关于电子邮件营销相关的资料,今天在David Lau的博客看到一篇翻译的文章,如何利用wordpress和feedburner来为博客添加newsletter。通过这个方法我们可以为订阅用户提供一些非订阅用户无法看到的内容(通过 RSS 订阅或者 Email 订阅的方式),从而达到刺激用户订阅的目的。

通常我们可以通过autoresponder来实现更强大的类似功能,不过作为一个免费的Email Newsletter实现方法,该思路还是非常值得参考的。

基本思路如下:

  1. 新建一个分类,比如命名为:Newsletter;
  2. 在博客中隐藏这个分类及其中的文章;
  3. 为这个分类新建一个RSS Feed;
  4. 将这个Feed烧录到Feedburner,并使用Feedburner的Email更新服务来投递我们的Newsletter。

Step 1、新建Newsletter分类

WordPress后台,Manage->Categories,点击Add New,为分类命名及填写Slug,如下图:

Wordpress category

然后点击Add Category创建分类。

分类创建之后,我们会在分类列表中看到刚刚创建的Newsletter分类,将鼠标移到分类名称上,就可以在浏览器的左下角看到分类的ID,如下图:

注:凡是下文中使用{YOUR cat_ID}的地方,请用创建的这个分类的ID替换。

Step 2、隐藏Newsletter分类

现在我们应该做的就是在博客出现分类的地方隐藏这个分类,首先我们将这个分类从侧边栏隐藏掉。

打开sidebar.php(wp-content/themes/当前使用的主题目录名称/sidebar.php),找到如下代码:

wp_list_categories(’show_count=1&title_li=< h2>Categories< /h2>’);

替换为:

wp_list_categories(’show_count=1&exclude={YOUR cat_ID}&title_li=< h2>Categories< /h2>’);

注:本文涉及代码的地方,< 标记之后都加了一个空格,使用的时候请去除。

Step 3、隐藏分类中的文章

接下来,就是把这个分类中的文章从博客中隐藏起来,基本上涉及的文件有以下几个:

  • index.php (/wp-content/themes/当前使用的主题目录名称/index.php)
  • archive.php (/wp-content/themes/当前使用的主题目录名称/archive.php)
  • search.php (/wp-content/themes/当前使用的主题目录名称/search.php)

当然,有的主题可能还涉及其它的文件,比如我现在使用的主题就还涉及author.php、page-archives、sidebar.php等文件。

然后在这些文件中搜索如下代码(注:省略号不包含在其中):

< div class=”post”…

在这段代码前面添加下面这段代码:

< ?php if (in_category(’{YOUR cat_ID}’)) continue; ?>

也就是说,代码会变成下面这样:

< ?php if (in_category(’{YOUR cat_ID}’)) continue; ?>
< div class=”post”…

另外,几乎所有的Wordpress博客,都会在侧边栏添加“最新文章”的信息,一般情况下是10篇,使用上面的代码是无效的,所以在这里单独列出来说明。

打开sidebar.php,然后参考下面的代码自行修改代码:
< ?php if ( function_exists(’dynamic_sidebar’) && dynamic_sidebar() ) : else : ?>
< ul>
< ?php $posts = query_posts(’cat=1,3,4,30,68,75&showposts=10′);?>
< ?php if ($posts) : foreach ($posts as $post) : the_post(); ?>
< li>
< a href=”< ?php the_permalink() ?>” rel=”bookmark” title=”< ?php the_title(); ?>”>
< ?php the_title(); ?>
< /a>
< /li>
< ?php endforeach; ?>
< ?php endif; ?>
< /ul>

简单说来,意思就是说,如果我们把上面这段代码中的cat=1,….替换成cat=-1…本来是可以的,但是有的主题会出现这样的问题,最新文章显示的文 章并不是最新的,而是随机显示的,所以我们把“除了要隐藏的那个分类“以外的分类ID全部列出来,而单独不列出需要隐藏的分类ID,另外< ul>与< /ul>之外的代码可能有所不同,还有就是,其中的分类ID,需要自己动手查看,方法上面已经说过了。

Step 4、在RSS中隐藏分类

打开header.php(/wp-content/themes/当前使用的主题目录名称/header.php),找到下面这行代码:

href=”< ?php bloginfo(’rss2_url’); ?>”

将其替换成如下代码(别丢了分类ID前的 – 号):

href=”< ?php bloginfo(’siteurl’);?>/?feed=rss2&cat=-{Your cat_ID}”

这样,这个分类的文章将不会从RSS中显示出来。

Step 5、为Newsletter分类新建一个RSS Feed并烧录到Feedburner

为Newsletter分类创建一个RSS Feed其实很简单,因为它已经存在,形式就是这样的:http://www.davidlau.org/?feed=rss2&cat={Your cat_ID} ,这就是这个分类的RSS Feed地址。

接下来,我们就把它烧录到Feedburner,打开Feedburner,当然,首先要注册,然后在FeedBurner的首页,在“Start FeedBurning Now. Type your feed or blog URL below.”下方,填入这个分类的RSS Feed地址,如下图:

点击Next,给我们的Newsletter命个名,并重新配置一下URL:

点击“Activate Feed”进入下一步,这时候我们可以点击“Next”,也可以点击“Skip directly to feed management”跳过这一步,马上开始管理Feed。

Step 6、将这个Feed转换成Email Newsletter

Step 5 之后,我们会进入一个页面,这时候,点击“Publicize”标签:

点击左侧的“Email Subscriptions”:

保持默认的设置就可以了,然后点击“Activate”,激活Email订阅。

这时候,我们会得到两个选择,“Subscription Form Code”和“Subscription Link Code”,前一个是提供表单形式的订阅,比如我的博客上方的Newsletter那样,后一个是提供一个订阅的链接。我们可以根据自己的需要选择。

选择之后,将Feedburner给出的对应的代码添加到相应的文件正确的位置即可,当然,我们也可以修改其显示的风格。

Step 7、如何投递Newsletter

如果有人订阅了这个Newsletter,当我们在这个分类中添加文章的时候,博客就会通知Feedburner来抓取文章,Feedburner抓取文章之后,会自动将这篇文章发送到读者的Email里,简单、省事。

测试Gmail收到的Email Newsletter如下:

最后,需要说明的是,我们必须在博客的后台设置RSS为全文Feed。

原文参考:Build a ‘WordBurner’ Email Newsletter Manager using WordPress and FeedBurner

无觅相关文章插件

发表评论

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议