本帖最後由 金滿堂 於 2009-7-23 01:36 編輯 # {7 v4 ~4 R5 l8 F6 T
2 [: u) @ E& B" L1 |& U5 t
基本思路如下:新建一個分類,比如命名為:Newsletter;在 Blog中隱藏這個分類及其中的文章;為這個分類新建一個RSS Feed;將這個Feed燒錄到Feedburner,並使用Feedburner的Email更新服務來投遞我們的Newsletter。# R, T% F1 [+ d. q5 D( t" I1 N& N
國外的很多Blog,和讀者進行交流都使用了一種叫做Newsletter的方式,說實話,我也不知道該如何翻譯這個單詞,時事通訊?!絕對是不恰當的,所以乾脆不翻譯了。總之,Newsletter大意就是,每隔一段時間,我們會收到來自Blog作者通過第三方網站中轉給我們的郵件,其中包含某些信息,可以是文章,也可以是分析報告等,說白了, 也就相當於週刊、月刊…$ X5 W. p1 p# j5 m9 c9 T: n+ j6 F
6 x; `5 {5 |7 p5 Z1 U# S$ k5 z
) i* s8 ~+ W2 ^! F! ^' w6 }
很可惜,國外的Blog使用的Newsletter,基本上都是由第三方網站Aweber.com提供的服務,而且是收費的。本人秉著免費的原則,找了很久都沒有看到一個好用的、免費的。最後找到了一種方法,即簡單,又免費,而且很實用,可謂居家旅行必備良藥。2 ^* v' m3 K6 G" c9 ?3 x! r1 y! H" j
基本思路如下:
3 k' N5 C9 N9 E* \+ ^. E- 新建一個分類,比如命名為:Newsletter;
- 在Blog中隱藏這個分類及其中的文章;
- 為這個分類新建一個RSS Feed;
- 將這個Feed燒錄到Feedburner,並使用Feedburner的Email更新服務來投遞我們的Newsletter。
Step 1、新建Newsletter分類
& v: u) n. X! iWordpress後台,Manage->Categories,點擊Add New,為分類命名及填寫Slug,如下圖:7 b0 B1 r2 L# p+ K$ l( \" B6 C
9 h. q3 J$ S' O. t
然後點擊Add Category創建分類。) a( Z+ U' G3 E0 s
分類創建之後,我們會在分類列表中看到剛剛創建的Newsletter分類,將鼠標移到分類名稱上,就可以在瀏覽器的左下角看到分類的ID,如下圖:
3 Q; X; @4 F* F" j3 n/ y% i
; y! A! w4 r. Y& F8 \& {註:凡是下文中使用{YOUR cat_ID}的地方,請用創建的這個分類的ID替換。* o0 r5 U( g2 L( D) U+ m
Step 2、隱藏Newsletter分類
7 k* F' T. `" v, L: Y) I: N( o+ f現在我們應該做的就是在Blog出現分類的地方隱藏這個分類,首先我們將這個分類從側邊欄隱藏掉。2 e! C" @. f% ?* k' `4 g6 \; N
打開sidebar.php(wp-content/themes/當前使用的主題目錄名稱/sidebar.php),找到如下代碼:
( f3 P1 X. S: s* E6 |wp_list_categories(』show_count=1&title_li=< h2>Categories< /h2>』);
$ s& `( \, H1 [1 z替換為:
& ]' x; T1 z2 q; x+ [! n4 lwp_list_categories(』show_count=1&exclude={YOUR cat_ID}&title_li=< h2>Categories< /h2>』);
5 o, [) \; x. f註:本文涉及代碼的地方,< 標記之後都加了一個空格,使用的時候請去除。
- c0 ]; A4 c& Y$ ]0 NStep 3、隱藏分類中的文章9 \7 F" E7 }7 ^) h m( B, T9 Q. M
接下來,就是把這個分類中的文章從Blog中隱藏起來,基本上涉及的文件有以下幾個:' y, t2 q5 a; z: p
- 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等文件。
% a x- g' e' F/ f- f `然後在這些文件中搜索如下代碼(註:省略號不包含在其中):6 V% {/ g6 y" H! U+ t" r
< div class=」post」…
* V2 u$ I: ]3 f" q在這段代碼前面添加下面這段代碼:8 W/ S5 f; {* H5 C
< ?php if (in_category(』{YOUR cat_ID}』)) continue; ?>
) t5 H. f" P7 p0 U a* f也就是說,代碼會變成下面這樣:, ]- Q# a' S3 i8 A |- l
< ?php if (in_category(』{YOUR cat_ID}』)) continue; ?>+ d4 o- x4 c2 w, T
< div class=」post」… $ h1 \/ t/ b- q) J9 V& C3 H1 Q0 M
另外,幾乎所有的WordpressBlog,都會在側邊欄添加「最新文章」的信息,一般情況下是10篇,使用上面的代碼是無效的,所以在這裡單獨列出來說明。) v2 h: E B& H$ E. I
打開sidebar.php,然後參考下面的代碼自行修改代碼:
$ L9 D0 @1 p1 L1 L- E< ?php if ( function_exists(』dynamic_sidebar』) && dynamic_sidebar() ) : else : ?>
( v' x8 \2 L2 G3 M Y2 T; s+ E2 c< ul>8 @! b7 ~8 `2 H; d0 ]' @1 H0 C
< ?php $posts = query_posts(』cat=1,3,4,30,68,75&showposts=10′);?> |# t G; ] [/ q
< ?php if ($posts) : foreach ($posts as $post) : the_post(); ?>
& I, d% Q5 u C< li>3 l, |7 e: U" W! G. F
< a href=」< ?php the_permalink() ?>」 rel=」bookmark」 title=」< ?php the_title(); ?>」>
( @: f! X- Q1 Z$ D0 v< ?php the_title(); ?>. F! F Y, g9 D: k$ q$ C" M
< /a>
# F2 C$ y1 [6 z( t# ~& }# \7 t< /li>
" @1 ?3 j$ M$ W4 c$ H" q. l< ?php endforeach; ?>
& d" Y- S$ s+ z& }2 v r& @; p+ S< ?php endif; ?>0 E' d/ W. C. n# q5 g+ A: E
< /ul>( f) \5 q$ ?1 y# p& [6 }
2 j7 s8 J# u7 I7 W. j+ i簡單說來,意思就是說,如果我們把上面這段代碼中的cat=1,….替換成cat=-1…本來是可以的,但是有的主題會出現這樣的問題,最新文章顯示的文章並不是最新的,而是隨機顯示的,所以我們把「除了要隱藏的那個分類「以外的分類ID全部列出來,而單獨不列出需要隱藏的分類ID,另外<ul>與< /ul>之外的代碼可能有所不同,還有就是,其中的分類ID,需要自己動手查看,方法上面已經說過了。$ p7 c0 J# g% e. p3 N* N
Step 4、在RSS中隱藏分類
! U6 B; E8 Y; h4 E5 R6 F打開header.php(/wp-content/themes/當前使用的主題目錄名稱/header.php),找到下面這行代碼:
0 G+ u- g ]. O( T9 S1 P: o/ q+ w: Yhref=」< ?php bloginfo(』rss2_url』); ?>」
' ~) n) M( Y* z$ Z) n& Q+ ?: j將其替換成如下代碼(別丟了分類ID前的 – 號):
- N+ D3 f+ \/ \; D Ehref=」< ?php bloginfo(』siteurl』);?>/?feed=rss2&cat=-{Your cat_ID}」' a* t8 t, K# Q+ w: T; q
這樣,這個分類的文章將不會從RSS中顯示出來。# v, ^" B. e0 a% L P. `
Step 5、為Newsletter分類新建一個RSS Feed並燒錄到Feedburner) h2 y" N, j- s; L
為Newsletter分類創建一個RSS Feed其實很簡單,因為它已經存在,形式就是這樣的:http://www.davidlau.org/?feed=rss2&cat={Your cat_ID} ,這就是這個分類的RSS Feed地址。
2 ?9 y4 z! a+ C5 c7 g# D接下來,我們就把它燒錄到Feedburner,打開Feedburner,當然,首先要註冊,然後在FeedBurner的首頁,在「Start FeedBurning Now. Type your feed or blog URL below.」下方,填入這個分類的RSS Feed地址,如下圖:7 A+ u: ~ o2 Q8 n
" _0 F# l! F8 M; |4 s5 `" A% k) l$ y點擊Next,給我們的Newsletter命個名,並重新配置一下URL:% Z- S- \; [ k1 w% D& t/ ?* ^
+ b) _" `8 k& o
點擊「Activate Feed」進入下一步,這時候我們可以點擊「Next」,也可以點擊「Skip directly to feed management」跳過這一步,馬上開始管理Feed。; C* t( t" c5 L5 ]4 I
Step 6、將這個Feed轉換成Email Newsletter
# k0 B' W0 j# T( \9 {4 H% }3 ~9 EStep 5 之後,我們會進入一個頁面,這時候,點擊「Publicize」標籤:
" A; x' i' V# f* K; C, X% {
8 o7 u! u$ j2 M* H3 { Q' i: s/ @點擊左側的「Email Subscriptions」:
, f8 c% Z- {8 L! P9 Y% n% m1 k! _; s, {$ [0 N
保持默認的設置就可以了,然後點擊「Activate」,激活Email訂閱。- C7 q9 |, z: m( t/ v
這時候,我們會得到兩個選擇,「Subscription Form Code」和「Subscription Link Code」,前一個是提供表單形式的訂閱,比如我的Blog上方的Newsletter那樣,後一個是提供一個訂閱的鏈接。我們可以根據自己的需要選擇。. n9 F1 |, w* [( L/ O5 `6 w, g* F
選擇之後,將Feedburner給出的對應的代碼添加到相應的文件正確的位置即可,當然,我們也可以修改其顯示的風格。
( O* R. C8 F4 Q- y& tStep 7、如何投遞Newsletter7 M' W, l5 x# f
如果有人訂閱了這個Newsletter,當我們在這個分類中添加文章的時候,Blog就會通知Feedburner來抓取文章,Feedburner抓取文章之後,會自動將這篇文章發送到讀者的Email裡,簡單、省事。7 ?; L0 T: M: [5 j
測試Gmail收到的Email Newsletter如下:
' h1 \( `3 {! a. n) o i" |
& d7 a" E4 p) g `) q: B6 `; l最後,需要說明的是,我們必須在Blog的後台設置RSS為全文Feed。4 m; X$ S5 c2 D) q& R6 |/ B
原文鏈接:, c- N/ S( F" G
http://www.davidlau.org/build-a-wordburner-email-newsletter-manager-using-wordpress-and-feedburner/ |
評分
-
查看全部評分
|