之前我的網站是用 sociable 外掛來顯示收藏書籤的網站,只是網站一多,那一排看起來還真是壯觀啊。後來看到很多網站放的是 sharethis 的圖示,他不但可以把收藏書籤的網站都收集起來,還可以把文章用 E-mail 的方式發送給自己或是朋友(看到 FeedBurner 做出來的 RSS 也有這個功能,我就哈很久了)。現在,WordPress 也有外掛可以直接支援這個功能。不過看到有人可以改成想要的格式(用的是 classic,比較早之前的版本),所以就去下載"舊版"的來修改囉。
所有修改都是改 share-this.php(這是當然的啦,其他都是圖片檔)
1. 更改書籤網站:
裡面預設的都是外國網站,所以把他改成台灣常用的網站。
'iconname' => array( 'name' => 'site_name' ,'url' => 'http://myshare.url.com.tw/index.php?func=newurl&url={url}&desc={title}' )
上面這個是一組設定,每組之間用逗號分隔(所以每一組前面都會有個逗號,只有第一組沒有,請特別小心)。一開始引號是圖示檔的名稱,一定要是 gif 檔,而且要跟 share-this.php 放在同一層目錄下。第二行的引號則是書籤網站的名稱。第三行則是要送給書籤網站時特殊的格式(請參考各書籤網站的設定),其中 {url} 代表的是文章的網址,{title} 是文章標題。下面是我加入網站的範例(前面的逗號就一起放進來了,只要不是第一個書籤網站,就沒有問題):
, 'funp' => array( 'name' => 'funP' ,'url' => 'http://funp.com/pages/submit/add.php?s={title}&url={url}&via=tools' ) , 'udn' => array( 'name' => 'Udn' ,'url' => 'http://bookmark.udn.com/add?f_title={title}&f_URL={url}' ) , 'baidu' => array( 'name' => '百度' ,'url' => 'http://cang.baidu.com/do/add?iu={url}&it={title}&fr=ien#nw=1' )
2. 表單介面中文化:
這個就簡單多了,直接搜尋檔案裡面的關鍵字,把他改成中文就好囉(記得要用 UTF-8 編碼喔)。
3. E-mail 格式修正:
基本上 E-mail 送出來的標題、內文都可以更改,只是我下載的 1.5.2 版摘要會出不來(因為他直接去要文章摘要這個欄位,可是我都沒有設定),所以就一起在這邊說囉。在檔案內找到這一段:
$subject = __('Check out this post on ', 'share-this').get_bloginfo('name');
就是 E-mail 的開始囉(這個是送出郵件的標題),看你要怎麼改都可以囉。不過由於我沒有文章摘要,所以我把原來的摘要產生方法註解掉,新增上我的程式碼(前面有 "//" 的就是被註解掉的原始碼),改成取文章前面的 250 個字元:
//$excerpt = $post->post_excerpt; //if (empty($excerpt)) { //$excerpt = strip_tags(get_the_content()); //if (strlen($excerpt) > 250) { //$excerpt = substr($excerpt, 0, 247).'...'; $post_content=strip_tags(apply_filters('post_text',apply_filters('get_post_text',$post->post_content))); $post_content=stripslashes($post_content); $post_content=str_replace('…','...',$post_content); $excerpt=mb_substr($post_content,0,250); if ($post_content!=$excerpt) $excerpt.='...';
4. 送出 E-mail 之後,自動跳轉網頁回原文章:
程式本來只會跟你說信件已經寄出去了,然後要自己連結才可以回到原文章。所以也是改了程式,加上倒數計時,時間到就自己回到原文章的 java script。(參考網站:the KiDs)
//wp_die(__('Thanks, we\'ve sent this article to your recipients via e-mail.', 'share-this').'<a href="'.get_permalink($post_id).'">'.__('Return to original page', 'share-this').'</a>.'); wp_die(__('謝謝,文章已發送到您指定的信箱!', 'share-this') .'<a href="'.get_permalink($post_id).'">' .__('回到文章', 'share-this') .'</a>' ."<br />" .'<script type="text/javascript"> setTimeout("countdown()", 1000); function countdown() { var s = document.getElementById("second"); s.innerHTML = s.innerHTML - 1; if (s.innerHTML == 0) window.location = "'.get_permalink($post_id).'"; else setTimeout("countdown()", 1000); } </script> <span id="second">5 </span>秒後自動回到文章! ');
可以修改的東西這麼多,真是一個好外掛啊。
只是有一個壞處,因為 wordpress 會認定他是舊版的外掛,有新版的可以升級(阿勒,我就是因為新版的什麼都不能改才找舊版的啊),所以在管理的外掛那邊就會一直提醒你有外掛可以更新。不過,還是很好用的啦。
0 comments on “修改 ShareThis Classic 外掛”
1 Pings/Trackbacks 於 "修改 ShareThis Classic 外掛"
禁用外掛的自動升級提示...
WordPress 出名的就是可以讓你嘗試不同的外掛,不過如果像我之前故意要用舊版外掛,或是有其他特別原因而不想看到外掛自動升級的提示的話,這裡有教說怎樣可以不用再看到外掛的升級提.....