本帖最後由 金滿堂 於 2009-7-23 01:36 編輯 2 G Y) T0 p; ^
; v4 `. \3 h- X6 ^4 G基本思路如下:新建一個分類,比如命名為:Newsletter;在 Blog中隱藏這個分類及其中的文章;為這個分類新建一個RSS Feed;將這個Feed燒錄到Feedburner,並使用Feedburner的Email更新服務來投遞我們的Newsletter。; |9 ~! _: l- U* h, s }: X! |
國外的很多Blog,和讀者進行交流都使用了一種叫做Newsletter的方式,說實話,我也不知道該如何翻譯這個單詞,時事通訊?!絕對是不恰當的,所以乾脆不翻譯了。總之,Newsletter大意就是,每隔一段時間,我們會收到來自Blog作者通過第三方網站中轉給我們的郵件,其中包含某些信息,可以是文章,也可以是分析報告等,說白了, 也就相當於週刊、月刊…+ v* C$ |! `$ ]- p6 a. s& v
) H" i! h, s% I: G5 Y! w1 ~% u* V% `1 K5 l- x% V
很可惜,國外的Blog使用的Newsletter,基本上都是由第三方網站Aweber.com提供的服務,而且是收費的。本人秉著免費的原則,找了很久都沒有看到一個好用的、免費的。最後找到了一種方法,即簡單,又免費,而且很實用,可謂居家旅行必備良藥。
) d3 E& t5 _& K# [基本思路如下:/ j3 U$ x: u" p9 Q- o4 P% g
- 新建一個分類,比如命名為:Newsletter;
- 在Blog中隱藏這個分類及其中的文章;
- 為這個分類新建一個RSS Feed;
- 將這個Feed燒錄到Feedburner,並使用Feedburner的Email更新服務來投遞我們的Newsletter。
Step 1、新建Newsletter分類
9 h9 e6 A: b& {, r2 F* o4 t! dWordpress後台,Manage->Categories,點擊Add New,為分類命名及填寫Slug,如下圖:
7 C* n5 x3 U g6 x% R. v3 |( x* f3 |; G
然後點擊Add Category創建分類。
' Y% r" V3 `( j8 U! ~0 K分類創建之後,我們會在分類列表中看到剛剛創建的Newsletter分類,將鼠標移到分類名稱上,就可以在瀏覽器的左下角看到分類的ID,如下圖: z8 a" v8 F0 h9 {- n8 i2 |2 I
9 F& T# V" L2 }( \註:凡是下文中使用{YOUR cat_ID}的地方,請用創建的這個分類的ID替換。; h0 C9 U' ]! w+ p" H; D
Step 2、隱藏Newsletter分類5 R0 P4 X* R' s: Y
現在我們應該做的就是在Blog出現分類的地方隱藏這個分類,首先我們將這個分類從側邊欄隱藏掉。# j6 B6 [/ S( @5 B
打開sidebar.php(wp-content/themes/當前使用的主題目錄名稱/sidebar.php),找到如下代碼:
; [( Q6 Y7 ^1 w$ |4 l+ t; M: U' ?9 `wp_list_categories(』show_count=1&title_li=< h2>Categories< /h2>』);
, Y8 P9 ?; Q: E" y替換為:8 H) _4 E; Y7 U9 M* S
wp_list_categories(』show_count=1&exclude={YOUR cat_ID}&title_li=< h2>Categories< /h2>』);
1 L& i. W' z1 x A註:本文涉及代碼的地方,< 標記之後都加了一個空格,使用的時候請去除。8 f- H( B8 e0 \* h0 K
Step 3、隱藏分類中的文章
/ g- {) Z: y ]' ?( {, T2 \- i接下來,就是把這個分類中的文章從Blog中隱藏起來,基本上涉及的文件有以下幾個:
6 i+ x+ g" {' [3 v6 u" c8 G; \- 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等文件。1 C9 O2 h' g" T$ n1 q( f, m i! z0 B
然後在這些文件中搜索如下代碼(註:省略號不包含在其中):
; n+ _5 f# k# u% T< div class=」post」…: Y y% B* g* j+ Q
在這段代碼前面添加下面這段代碼:$ N, Z; T. h( C1 k0 |! `
< ?php if (in_category(』{YOUR cat_ID}』)) continue; ?>
" s3 r# F- @! |! N; T也就是說,代碼會變成下面這樣:
( m A1 L1 i9 u/ ^* V< ?php if (in_category(』{YOUR cat_ID}』)) continue; ?>
n) L- S, X' {1 u" H, I< div class=」post」…
R4 k; c- G9 E7 [! l( [7 u另外,幾乎所有的WordpressBlog,都會在側邊欄添加「最新文章」的信息,一般情況下是10篇,使用上面的代碼是無效的,所以在這裡單獨列出來說明。, n, R& \7 e; `' _! `8 `
打開sidebar.php,然後參考下面的代碼自行修改代碼:7 P; z; N3 i0 L. ?# {
< ?php if ( function_exists(』dynamic_sidebar』) && dynamic_sidebar() ) : else : ?>; A# }6 k8 X# a" T* j# I5 r; @' z
< ul>
( a" B4 `- U( w# c' w7 z' p/ Q/ k< ?php $posts = query_posts(』cat=1,3,4,30,68,75&showposts=10′);?>& T# Y/ b+ R/ t& Q# p& h. S/ S
< ?php if ($posts) : foreach ($posts as $post) : the_post(); ?>* f1 \4 H6 Z% M/ F9 w
< li>
2 C0 `6 k* f3 H4 x! M/ {< a href=」< ?php the_permalink() ?>」 rel=」bookmark」 title=」< ?php the_title(); ?>」>/ k, U: _9 _ h1 g- U
< ?php the_title(); ?>9 @) q0 H3 l- A+ {
< /a>
6 E' j+ g) m# B5 x3 R# F< /li>
( K) [ ]5 n0 b% ]) S, T< ?php endforeach; ?>
8 G8 o' R% u6 ?1 D* A$ l# h< ?php endif; ?>' C3 I+ P$ i% W: m! J) u* P
< /ul>) Y( w; E' ]( _* }8 k9 p( f
1 ~5 a* I6 D$ }2 y a: K3 G3 |4 U
簡單說來,意思就是說,如果我們把上面這段代碼中的cat=1,….替換成cat=-1…本來是可以的,但是有的主題會出現這樣的問題,最新文章顯示的文章並不是最新的,而是隨機顯示的,所以我們把「除了要隱藏的那個分類「以外的分類ID全部列出來,而單獨不列出需要隱藏的分類ID,另外<ul>與< /ul>之外的代碼可能有所不同,還有就是,其中的分類ID,需要自己動手查看,方法上面已經說過了。
' X X# t% d$ P/ |/ I- FStep 4、在RSS中隱藏分類
; K! s: A5 G) _5 F% g打開header.php(/wp-content/themes/當前使用的主題目錄名稱/header.php),找到下面這行代碼:
' _4 ~# c$ Y* ]1 p; w% vhref=」< ?php bloginfo(』rss2_url』); ?>」" \% e3 ~- o3 V: z
將其替換成如下代碼(別丟了分類ID前的 – 號):5 g1 l# G+ }/ c5 [2 C& F
href=」< ?php bloginfo(』siteurl』);?>/?feed=rss2&cat=-{Your cat_ID}」8 }' ?) A5 J x/ p
這樣,這個分類的文章將不會從RSS中顯示出來。
9 Q( L: I) q& k' b5 q" H2 Z8 r4 y: nStep 5、為Newsletter分類新建一個RSS Feed並燒錄到Feedburner
% E6 E. o& h- I0 x# X+ M" r為Newsletter分類創建一個RSS Feed其實很簡單,因為它已經存在,形式就是這樣的:http://www.davidlau.org/?feed=rss2&cat={Your cat_ID} ,這就是這個分類的RSS Feed地址。2 y( s1 R8 B7 O6 ?- h
接下來,我們就把它燒錄到Feedburner,打開Feedburner,當然,首先要註冊,然後在FeedBurner的首頁,在「Start FeedBurning Now. Type your feed or blog URL below.」下方,填入這個分類的RSS Feed地址,如下圖:
, D/ A9 f# h. O2 a/ C) t1 v
1 A/ t% D/ O7 h: e7 f1 b點擊Next,給我們的Newsletter命個名,並重新配置一下URL:
7 }4 R3 U8 z% a% ]8 }
C% a% I3 g( U' c+ a點擊「Activate Feed」進入下一步,這時候我們可以點擊「Next」,也可以點擊「Skip directly to feed management」跳過這一步,馬上開始管理Feed。/ D+ f6 y" h+ n9 F3 ^8 u3 C
Step 6、將這個Feed轉換成Email Newsletter) I' S, J7 b3 ?: x
Step 5 之後,我們會進入一個頁面,這時候,點擊「Publicize」標籤:
3 O4 S# I# c" }9 {2 O, r% `5 H0 f! l% @
點擊左側的「Email Subscriptions」:
( q3 G3 A V0 `6 R1 [; O+ C* n, W; |4 J: m: ~% B: z: Y
保持默認的設置就可以了,然後點擊「Activate」,激活Email訂閱。! B9 f5 {" f) T! p0 \
這時候,我們會得到兩個選擇,「Subscription Form Code」和「Subscription Link Code」,前一個是提供表單形式的訂閱,比如我的Blog上方的Newsletter那樣,後一個是提供一個訂閱的鏈接。我們可以根據自己的需要選擇。
2 B1 o% H( {4 d% s2 ]選擇之後,將Feedburner給出的對應的代碼添加到相應的文件正確的位置即可,當然,我們也可以修改其顯示的風格。% W' o$ e' |. T
Step 7、如何投遞Newsletter/ r1 t. Z) z; W$ f5 W
如果有人訂閱了這個Newsletter,當我們在這個分類中添加文章的時候,Blog就會通知Feedburner來抓取文章,Feedburner抓取文章之後,會自動將這篇文章發送到讀者的Email裡,簡單、省事。( G- j9 `. z4 a. t0 h0 C
測試Gmail收到的Email Newsletter如下:, R7 T2 Y0 v. R
% I- t/ g, H* L% A. o+ s( k
最後,需要說明的是,我們必須在Blog的後台設置RSS為全文Feed。) \! |6 Z/ u3 I3 w+ k
原文鏈接:( N9 c7 G+ w q& F# ]
http://www.davidlau.org/build-a-wordburner-email-newsletter-manager-using-wordpress-and-feedburner/ |
評分
-
查看全部評分
|