本帖最後由 金滿堂 於 2009-7-23 01:36 編輯 $ y7 m7 d! R' J
. c: u, ^, ~- [% y/ i
基本思路如下:新建一個分類,比如命名為:Newsletter;在 Blog中隱藏這個分類及其中的文章;為這個分類新建一個RSS Feed;將這個Feed燒錄到Feedburner,並使用Feedburner的Email更新服務來投遞我們的Newsletter。
1 n) P6 {4 I: t( U/ U國外的很多Blog,和讀者進行交流都使用了一種叫做Newsletter的方式,說實話,我也不知道該如何翻譯這個單詞,時事通訊?!絕對是不恰當的,所以乾脆不翻譯了。總之,Newsletter大意就是,每隔一段時間,我們會收到來自Blog作者通過第三方網站中轉給我們的郵件,其中包含某些信息,可以是文章,也可以是分析報告等,說白了, 也就相當於週刊、月刊…
9 ^( e% \9 n7 U4 n
6 E \( R0 M; o' [/ h2 l0 {( ?% S. y8 |
很可惜,國外的Blog使用的Newsletter,基本上都是由第三方網站Aweber.com提供的服務,而且是收費的。本人秉著免費的原則,找了很久都沒有看到一個好用的、免費的。最後找到了一種方法,即簡單,又免費,而且很實用,可謂居家旅行必備良藥。5 F. `* \. w! G# {
基本思路如下:$ N, r) m: M4 C1 D3 T! z4 Y( @3 Y
- 新建一個分類,比如命名為:Newsletter;
- 在Blog中隱藏這個分類及其中的文章;
- 為這個分類新建一個RSS Feed;
- 將這個Feed燒錄到Feedburner,並使用Feedburner的Email更新服務來投遞我們的Newsletter。
Step 1、新建Newsletter分類( C9 U4 c X9 x0 c- X
Wordpress後台,Manage->Categories,點擊Add New,為分類命名及填寫Slug,如下圖:
( O. c6 b) _5 f, E: }! M8 E$ z6 q) m! L0 M
然後點擊Add Category創建分類。
3 u. r9 `4 M1 \分類創建之後,我們會在分類列表中看到剛剛創建的Newsletter分類,將鼠標移到分類名稱上,就可以在瀏覽器的左下角看到分類的ID,如下圖:
8 c0 E; O! a7 e; y# C) Y! S* c! N3 f F& b
註:凡是下文中使用{YOUR cat_ID}的地方,請用創建的這個分類的ID替換。# b% a! s4 I& W0 B% R
Step 2、隱藏Newsletter分類
5 I, b! A* M5 d7 a$ j/ y8 z現在我們應該做的就是在Blog出現分類的地方隱藏這個分類,首先我們將這個分類從側邊欄隱藏掉。
S3 W& A8 _, O打開sidebar.php(wp-content/themes/當前使用的主題目錄名稱/sidebar.php),找到如下代碼:# L( z+ D8 o+ K5 S6 Q/ O6 T
wp_list_categories(』show_count=1&title_li=< h2>Categories< /h2>』); 5 u2 }4 R6 Z2 R
替換為:
j3 \5 }! x I- t& i! |2 [wp_list_categories(』show_count=1&exclude={YOUR cat_ID}&title_li=< h2>Categories< /h2>』); 7 @4 _4 M& b4 J
註:本文涉及代碼的地方,< 標記之後都加了一個空格,使用的時候請去除。9 h; \- `. [& |, x h
Step 3、隱藏分類中的文章+ E5 i( b; y8 \7 F$ m8 x% [
接下來,就是把這個分類中的文章從Blog中隱藏起來,基本上涉及的文件有以下幾個:4 ~# a$ W; r1 X
- 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等文件。3 e' \! z9 G9 s
然後在這些文件中搜索如下代碼(註:省略號不包含在其中):
2 u/ w3 d' T7 H< div class=」post」…
" U" S4 C/ d- Q5 h0 Y/ }7 C9 o6 O) E' `在這段代碼前面添加下面這段代碼:* P. V9 g. B p: I# ^! S
< ?php if (in_category(』{YOUR cat_ID}』)) continue; ?>0 x" I& s, ^" f' N4 d+ q* s' o
也就是說,代碼會變成下面這樣:" A4 B* x: t# b# V3 v
< ?php if (in_category(』{YOUR cat_ID}』)) continue; ?>5 F' E0 V( U! l
< div class=」post」… 2 j7 e! k) o& ]4 c3 Z; v% u
另外,幾乎所有的WordpressBlog,都會在側邊欄添加「最新文章」的信息,一般情況下是10篇,使用上面的代碼是無效的,所以在這裡單獨列出來說明。
' ?. X+ {. e2 m( T2 Z打開sidebar.php,然後參考下面的代碼自行修改代碼:/ S5 @7 b) |0 P: F: O. n
< ?php if ( function_exists(』dynamic_sidebar』) && dynamic_sidebar() ) : else : ?>
, X$ r- [' m% \% j' P" t5 w< ul>
$ G/ C) \1 a( `: K9 d< ?php $posts = query_posts(』cat=1,3,4,30,68,75&showposts=10′);?>, c$ \% B* Q3 g. P* ]
< ?php if ($posts) : foreach ($posts as $post) : the_post(); ?> Z! S: t/ V* R: B
< li>
; B h L1 C, T0 w' x4 V< a href=」< ?php the_permalink() ?>」 rel=」bookmark」 title=」< ?php the_title(); ?>」>
! D* P1 {6 @. q- Y. q9 k+ _< ?php the_title(); ?>* n& M: w" y+ C) K' l5 @
< /a>9 [, Z3 a0 [+ G2 O& x; n3 K E
< /li>, F& \3 F3 z: n( l/ Z U* ?0 T
< ?php endforeach; ?>
& c* R* K9 F) S& j< ?php endif; ?>
& w2 f0 e+ B% |9 W2 C< /ul>* a5 I. A: g. k. y
& S8 F! Q4 b$ X& H+ M# D0 S
簡單說來,意思就是說,如果我們把上面這段代碼中的cat=1,….替換成cat=-1…本來是可以的,但是有的主題會出現這樣的問題,最新文章顯示的文章並不是最新的,而是隨機顯示的,所以我們把「除了要隱藏的那個分類「以外的分類ID全部列出來,而單獨不列出需要隱藏的分類ID,另外<ul>與< /ul>之外的代碼可能有所不同,還有就是,其中的分類ID,需要自己動手查看,方法上面已經說過了。
/ T& k. b5 o% ]* \/ ~7 MStep 4、在RSS中隱藏分類
/ l- z$ R9 ~6 k. J) o+ V- U打開header.php(/wp-content/themes/當前使用的主題目錄名稱/header.php),找到下面這行代碼:
/ P$ h/ n) w' r: zhref=」< ?php bloginfo(』rss2_url』); ?>」! F+ @5 z5 `2 x8 r9 ^: Z
將其替換成如下代碼(別丟了分類ID前的 – 號):3 c; }% m4 K& T8 T0 `" ?
href=」< ?php bloginfo(』siteurl』);?>/?feed=rss2&cat=-{Your cat_ID}」; s1 S2 F1 L! `1 U
這樣,這個分類的文章將不會從RSS中顯示出來。
' ^6 n1 S4 U, x. Z2 }2 xStep 5、為Newsletter分類新建一個RSS Feed並燒錄到Feedburner
. \( Z& U8 T3 H J/ E3 m; i5 e. A為Newsletter分類創建一個RSS Feed其實很簡單,因為它已經存在,形式就是這樣的:http://www.davidlau.org/?feed=rss2&cat={Your cat_ID} ,這就是這個分類的RSS Feed地址。
& P$ [4 p1 _/ ~- @8 O/ }& l9 V* \接下來,我們就把它燒錄到Feedburner,打開Feedburner,當然,首先要註冊,然後在FeedBurner的首頁,在「Start FeedBurning Now. Type your feed or blog URL below.」下方,填入這個分類的RSS Feed地址,如下圖:
0 b6 _ K- h. J4 K9 w [- [8 K" v1 y( u7 H
點擊Next,給我們的Newsletter命個名,並重新配置一下URL:
7 m2 f: f) T3 x2 j, A) Z3 R+ k4 d3 f% d5 n& C, ?! c
點擊「Activate Feed」進入下一步,這時候我們可以點擊「Next」,也可以點擊「Skip directly to feed management」跳過這一步,馬上開始管理Feed。; ~! n" i3 S* I
Step 6、將這個Feed轉換成Email Newsletter7 p% z8 S5 V# `8 b/ y: Q
Step 5 之後,我們會進入一個頁面,這時候,點擊「Publicize」標籤:4 ]- H/ q2 q- O V& N
" _# `' B5 N3 M4 [
點擊左側的「Email Subscriptions」:5 U2 {6 |' D" v9 N
, v' [) n. t& J. V5 n ]
保持默認的設置就可以了,然後點擊「Activate」,激活Email訂閱。% `( M% M7 }4 r. |
這時候,我們會得到兩個選擇,「Subscription Form Code」和「Subscription Link Code」,前一個是提供表單形式的訂閱,比如我的Blog上方的Newsletter那樣,後一個是提供一個訂閱的鏈接。我們可以根據自己的需要選擇。+ C$ t7 x" d/ h
選擇之後,將Feedburner給出的對應的代碼添加到相應的文件正確的位置即可,當然,我們也可以修改其顯示的風格。8 c, ~ b8 l% w; _
Step 7、如何投遞Newsletter
+ Y8 X5 t3 e# O) p$ e如果有人訂閱了這個Newsletter,當我們在這個分類中添加文章的時候,Blog就會通知Feedburner來抓取文章,Feedburner抓取文章之後,會自動將這篇文章發送到讀者的Email裡,簡單、省事。
" y& ?( Y3 m" F3 S& |0 ^測試Gmail收到的Email Newsletter如下:9 l1 p7 k0 z5 L
C1 F5 k; _! `4 `- Z
最後,需要說明的是,我們必須在Blog的後台設置RSS為全文Feed。
# B+ S C" f8 f" K* z; H原文鏈接:/ j" G: q9 Z; C" m
http://www.davidlau.org/build-a-wordburner-email-newsletter-manager-using-wordpress-and-feedburner/ |
評分
-
查看全部評分
|