|
本帖最后由 金满堂 于 2009-7-23 01:36 编辑
基本思路如下:新建一个分类,比如命名为:Newsletter;在 Blog中隐藏这个分类及其中的文章;为这个分类新建一个RSS Feed;将这个Feed烧录到Feedburner,并使用Feedburner的Email更新服务来投递我们的Newsletter。
国外的很多Blog,和读者进行交流都使用了一种叫做Newsletter的方式,说实话,我也不知道该如何翻译这个单词,时事通讯?!绝对是不恰当的,所以干脆不翻译了。总之,Newsletter大意就是,每隔一段时间,我们会收到来自Blog作者通过第三方网站中转给我们的邮件,其中包含某些信息,可以是文章,也可以是分析报告等,说白了, 也就相当于周刊、月刊…
很可惜,国外的Blog使用的Newsletter,基本上都是由第三方网站Aweber.com提供的服务,而且是收费的。本人秉着免费的原则,找了很久都没有看到一个好用的、免费的。最后找到了一种方法,即简单,又免费,而且很实用,可谓居家旅行必备良药。
基本思路如下:
- 新建一个分类,比如命名为:Newsletter;
- 在Blog中隐藏这个分类及其中的文章;
- 为这个分类新建一个RSS Feed;
- 将这个Feed烧录到Feedburner,并使用Feedburner的Email更新服务来投递我们的Newsletter。
Step 1、新建Newsletter分类
Wordpress后台,Manage->Categories,点击Add New,为分类命名及填写Slug,如下图:
然后点击Add Category创建分类。
分类创建之后,我们会在分类列表中看到刚刚创建的Newsletter分类,将鼠标移到分类名称上,就可以在浏览器的左下角看到分类的ID,如下图:
注:凡是下文中使用{YOUR cat_ID}的地方,请用创建的这个分类的ID替换。
Step 2、隐藏Newsletter分类
现在我们应该做的就是在Blog出现分类的地方隐藏这个分类,首先我们将这个分类从侧边栏隐藏掉。
打开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、隐藏分类中的文章
接下来,就是把这个分类中的文章从Blog中隐藏起来,基本上涉及的文件有以下几个:
- 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”…
另外,几乎所有的WordpressBlog,都会在侧边栏添加“最新文章”的信息,一般情况下是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”,前一个是提供表单形式的订阅,比如我的Blog上方的Newsletter那样,后一个是提供一个订阅的链接。我们可以根据自己的需要选择。
选择之后,将Feedburner给出的对应的代码添加到相应的文件正确的位置即可,当然,我们也可以修改其显示的风格。
Step 7、如何投递Newsletter
如果有人订阅了这个Newsletter,当我们在这个分类中添加文章的时候,Blog就会通知Feedburner来抓取文章,Feedburner抓取文章之后,会自动将这篇文章发送到读者的Email里,简单、省事。
测试Gmail收到的Email Newsletter如下:
最后,需要说明的是,我们必须在Blog的后台设置RSS为全文Feed。
原文链接:
http://www.davidlau.org/build-a-wordburner-email-newsletter-manager-using-wordpress-and-feedburner/ |
评分
-
查看全部评分
|