修改 ShareThis Classic 外掛

之前我的網站是用 sociable 外掛來顯示收藏書籤的網站,只是網站一多,那一排看起來還真是壯觀啊。後來看到很多網站放的是 sharethis 的圖示,他不但可以把收藏書籤的網站都收集起來,還可以把文章用 E-mail 的方式發送給自己或是朋友(看到 FeedBurner 做出來的 RSS 也有這個功能,我就哈很久了)。現在,WordPress 也有外掛可以直接支援這個功能:08。不過看到有人可以改成想要的格式(用的是 classic,比較早之前的版本),所以就去下載"舊版"的來修改囉。

所有修改都是改 share-this.php(這是當然的啦,其他都是圖片檔:XD
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 之後,自動跳轉網頁回原文章:
程式本來只會跟你說信件已經寄出去了,然後要自己連結才可以回到原文章:XD。所以也是改了程式,加上倒數計時,時間到就自己回到原文章的 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>秒後自動回到文章!
');

可以修改的東西這麼多,真是一個好外掛啊:good
只是有一個壞處,因為 wordpress 會認定他是舊版的外掛,有新版的可以升級(阿勒,我就是因為新版的什麼都不能改才找舊版的啊),所以在管理的外掛那邊就會一直提醒你有外掛可以更新:XD。不過,還是很好用的啦:08

Please follow and like us:

0 comments on “修改 ShareThis Classic 外掛

1 Pings/Trackbacks 於 "修改 ShareThis Classic 外掛"

  1. 禁用外掛的自動升級提示...
    WordPress 出名的就是可以讓你嘗試不同的外掛,不過如果像我之前故意要用舊版外掛,或是有其他特別原因而不想看到外掛自動升級的提示的話,這裡有教說怎樣可以不用再看到外掛的升級提.....

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *