本帖最後由 金滿堂 於 2009-7-23 01:36 編輯 % ]) x4 j' @0 K/ E4 R, }; r
* C6 Q- D0 a8 `* L4 O/ C; [
基本思路如下:新建一個分類,比如命名為:Newsletter;在 Blog中隱藏這個分類及其中的文章;為這個分類新建一個RSS Feed;將這個Feed燒錄到Feedburner,並使用Feedburner的Email更新服務來投遞我們的Newsletter。
9 G2 j1 z; p+ A% j+ e國外的很多Blog,和讀者進行交流都使用了一種叫做Newsletter的方式,說實話,我也不知道該如何翻譯這個單詞,時事通訊?!絕對是不恰當的,所以乾脆不翻譯了。總之,Newsletter大意就是,每隔一段時間,我們會收到來自Blog作者通過第三方網站中轉給我們的郵件,其中包含某些信息,可以是文章,也可以是分析報告等,說白了, 也就相當於週刊、月刊…
. m2 s, t0 S, Y# p9 k+ G' c
/ t; u- F- z j
8 b& ?. l( X7 \! j7 o' S+ }& ^" r m很可惜,國外的Blog使用的Newsletter,基本上都是由第三方網站Aweber.com提供的服務,而且是收費的。本人秉著免費的原則,找了很久都沒有看到一個好用的、免費的。最後找到了一種方法,即簡單,又免費,而且很實用,可謂居家旅行必備良藥。
& U! t5 }: f6 X' J基本思路如下:4 E, B5 r- B+ U" v1 X5 u! B
- 新建一個分類,比如命名為:Newsletter;
- 在Blog中隱藏這個分類及其中的文章;
- 為這個分類新建一個RSS Feed;
- 將這個Feed燒錄到Feedburner,並使用Feedburner的Email更新服務來投遞我們的Newsletter。
Step 1、新建Newsletter分類0 ?: S! s& g% k0 z- o3 A
Wordpress後台,Manage->Categories,點擊Add New,為分類命名及填寫Slug,如下圖:( V" y. A! G g
w9 }! v$ L5 Z/ L3 P2 Y& e9 z然後點擊Add Category創建分類。
) `7 O) a, l' ?% A5 E. t# V分類創建之後,我們會在分類列表中看到剛剛創建的Newsletter分類,將鼠標移到分類名稱上,就可以在瀏覽器的左下角看到分類的ID,如下圖:
6 W. i: Y6 q. A
9 o$ Y1 [4 H+ \# Y( N$ X* b1 T註:凡是下文中使用{YOUR cat_ID}的地方,請用創建的這個分類的ID替換。% W. x1 w* M0 l: L
Step 2、隱藏Newsletter分類3 I6 y1 I. X4 p, f/ ]
現在我們應該做的就是在Blog出現分類的地方隱藏這個分類,首先我們將這個分類從側邊欄隱藏掉。
) r) w' _7 t' H2 E打開sidebar.php(wp-content/themes/當前使用的主題目錄名稱/sidebar.php),找到如下代碼:
1 W- M9 H p. {& Jwp_list_categories(』show_count=1&title_li=< h2>Categories< /h2>』); ( l6 H7 x% | Q9 B2 U, z
替換為:/ _: n8 w8 a% l- s2 s8 d f
wp_list_categories(』show_count=1&exclude={YOUR cat_ID}&title_li=< h2>Categories< /h2>』);
( l! y5 f$ T. n- Q1 ^註:本文涉及代碼的地方,< 標記之後都加了一個空格,使用的時候請去除。
& `2 t# r. u: g( w' {4 G+ nStep 3、隱藏分類中的文章
% I: S' K% O# A4 q* E3 F! w接下來,就是把這個分類中的文章從Blog中隱藏起來,基本上涉及的文件有以下幾個:
) A$ E) X4 m* ^7 L/ {6 M* t# z5 p; D- 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等文件。
, ^) y! m p: V8 y" q然後在這些文件中搜索如下代碼(註:省略號不包含在其中):
. S- U+ _* a4 s: Y< div class=」post」…. W/ `& w" F% p
在這段代碼前面添加下面這段代碼:" m5 E, u8 ~# N: r4 I# F3 J
< ?php if (in_category(』{YOUR cat_ID}』)) continue; ?>2 A1 g+ J: v: K$ w5 G! Z3 N( ~
也就是說,代碼會變成下面這樣:
3 w* e R/ M- W$ e$ s2 x! i< ?php if (in_category(』{YOUR cat_ID}』)) continue; ?>8 v5 ~: O2 h! `9 w2 U6 ~/ D2 Y, Z# x
< div class=」post」… 7 i0 |! ]( l% ]
另外,幾乎所有的WordpressBlog,都會在側邊欄添加「最新文章」的信息,一般情況下是10篇,使用上面的代碼是無效的,所以在這裡單獨列出來說明。4 u; t6 a: A8 n4 k/ C9 W$ F# M2 t
打開sidebar.php,然後參考下面的代碼自行修改代碼:
8 D# {/ P0 G! v7 I$ z< ?php if ( function_exists(』dynamic_sidebar』) && dynamic_sidebar() ) : else : ?>4 }6 V: \; N* d% o) f# Q# q* A* O
< ul>+ J2 a5 l3 f: c3 T7 @) {; ?
< ?php $posts = query_posts(』cat=1,3,4,30,68,75&showposts=10′);?>/ i- V3 c% w. ?& J$ u
< ?php if ($posts) : foreach ($posts as $post) : the_post(); ?>
" a& U" b( T- D5 x5 R- ^< li>' k6 T0 N0 f j
< a href=」< ?php the_permalink() ?>」 rel=」bookmark」 title=」< ?php the_title(); ?>」>* n) i$ j4 M) l* y4 j7 m
< ?php the_title(); ?>
" |6 n! Q6 i3 o( ?+ c$ r< /a>5 d( J, p0 {' I, @( t
< /li>8 O* E. w0 ]$ {. B) A+ H* {
< ?php endforeach; ?>- k9 K; X+ z! N
< ?php endif; ?>/ s% r) G2 a0 u4 S& O9 T+ W, B! k
< /ul>
/ Y* d) \$ H, |8 a
/ O: q G( I' v; W簡單說來,意思就是說,如果我們把上面這段代碼中的cat=1,….替換成cat=-1…本來是可以的,但是有的主題會出現這樣的問題,最新文章顯示的文章並不是最新的,而是隨機顯示的,所以我們把「除了要隱藏的那個分類「以外的分類ID全部列出來,而單獨不列出需要隱藏的分類ID,另外<ul>與< /ul>之外的代碼可能有所不同,還有就是,其中的分類ID,需要自己動手查看,方法上面已經說過了。; Y" E, p, F; ~. D: h" A
Step 4、在RSS中隱藏分類7 ]4 @& V& l6 A8 H+ o0 X1 H
打開header.php(/wp-content/themes/當前使用的主題目錄名稱/header.php),找到下面這行代碼:
2 K( }2 N% D! N S" ?2 Hhref=」< ?php bloginfo(』rss2_url』); ?>」
: E6 S9 I2 T: C5 Z0 w將其替換成如下代碼(別丟了分類ID前的 – 號):
5 ?1 Y) x5 b6 Qhref=」< ?php bloginfo(』siteurl』);?>/?feed=rss2&cat=-{Your cat_ID}」
- l7 V2 X- d/ q* O這樣,這個分類的文章將不會從RSS中顯示出來。( B" x L2 Q# c0 p5 p+ ?
Step 5、為Newsletter分類新建一個RSS Feed並燒錄到Feedburner
% x* Z, l: b9 G( u) M為Newsletter分類創建一個RSS Feed其實很簡單,因為它已經存在,形式就是這樣的:http://www.davidlau.org/?feed=rss2&cat={Your cat_ID} ,這就是這個分類的RSS Feed地址。$ B% r' k. ]( w
接下來,我們就把它燒錄到Feedburner,打開Feedburner,當然,首先要註冊,然後在FeedBurner的首頁,在「Start FeedBurning Now. Type your feed or blog URL below.」下方,填入這個分類的RSS Feed地址,如下圖:+ _( V# w$ D4 B2 n
+ g C- d1 A$ t: R7 X點擊Next,給我們的Newsletter命個名,並重新配置一下URL:
/ z: c/ {0 J0 W% a5 O1 x, k: N( [3 u6 b* }8 W# l
點擊「Activate Feed」進入下一步,這時候我們可以點擊「Next」,也可以點擊「Skip directly to feed management」跳過這一步,馬上開始管理Feed。
3 v/ F* y+ W7 _5 j) W8 ?2 G5 lStep 6、將這個Feed轉換成Email Newsletter
& e$ y. I7 R: kStep 5 之後,我們會進入一個頁面,這時候,點擊「Publicize」標籤:( a" T+ u7 \" X+ K9 r
4 S" i7 _- U, X7 a1 H點擊左側的「Email Subscriptions」:
; [3 I/ P3 |: P- `+ r
! D$ ^3 g5 i/ `& E) ]" A' W保持默認的設置就可以了,然後點擊「Activate」,激活Email訂閱。
' Y/ d0 Z4 w/ N& s這時候,我們會得到兩個選擇,「Subscription Form Code」和「Subscription Link Code」,前一個是提供表單形式的訂閱,比如我的Blog上方的Newsletter那樣,後一個是提供一個訂閱的鏈接。我們可以根據自己的需要選擇。+ u- L7 @2 d( G [0 m* a
選擇之後,將Feedburner給出的對應的代碼添加到相應的文件正確的位置即可,當然,我們也可以修改其顯示的風格。
1 P- @! ^! L, h6 \# a" `Step 7、如何投遞Newsletter& H' w M" J: l4 }. Z
如果有人訂閱了這個Newsletter,當我們在這個分類中添加文章的時候,Blog就會通知Feedburner來抓取文章,Feedburner抓取文章之後,會自動將這篇文章發送到讀者的Email裡,簡單、省事。
9 o1 M( x, ]. E( n+ c$ B; T測試Gmail收到的Email Newsletter如下:
5 d( r& f0 ?# {( G% D6 M
; F1 {+ t- a# O- K1 T3 W最後,需要說明的是,我們必須在Blog的後台設置RSS為全文Feed。3 Q+ w5 A f6 q( r) b
原文鏈接:
7 x$ i' O' [5 q- X1 h+ y$ v6 a( {http://www.davidlau.org/build-a-wordburner-email-newsletter-manager-using-wordpress-and-feedburner/ |
評分
-
查看全部評分
|