TwitterでWordPressに投稿する方法

気軽に使えるTwitterだけど、タイムラインという川に流してしまうだけじゃ勿体ない。
つぶやきをアーカイブするサービスもあるけど、やっぱり自分の手元でまとめたい。
ってことで、このブログにつぶやきを取り込むべくWordpressのプラグインをあさってみました。
で、たどり着いたのが「Twitter Tools」。
配布サイトはこちら。
http://crowdfavorite.com/wordpress/plugins/twitter-tools/

WordPressとTwitterを連携させるプラグインで、主だった機能は以下の通り。
●Twitterのつぶやきを、まとめてWordPressに投稿(1日おき、1週間おきの設定が可能)。
●WordPressに書いた記事とそのリンクをTwitterへつぶやく。
●WordPressのサイドバー、Admin画面からつぶやく。

ちょっとσ(^^)が欲しいものとは違う。
つぶやき一つ一つを、さも普通の投稿のようにブログ記事として表示させることがσ(^^)がやりたいこと。

と言うことでこの「Twitter Tools」に手を加えてみました。
まずtwitter-tools.phpの501行目あたり。


		remove_action('publish_post', 'aktt_notify_twitter', 99);
		$tw_text_arr = explode("n", $tweet->tw_text);
		$data = array(
			'post_content' => $wpdb->escape(aktt_make_clickable(tcoDecode($tweet->tw_text)))
			, 'post_title' => $wpdb->escape($tw_text_arr[0])
			, 'post_date' => get_date_from_gmt(date('Y-m-d H:i:s', $tweet->tw_created_at))
			, 'post_category' => array($this->blog_post_category)
			, 'post_status' => 'publish'
			, 'post_author' => $wpdb->escape($this->blog_post_author)
		);

remove_action(‘publish_post’, ‘aktt_notify_twitter’, 99);はオリジナルのまま。
オリジナルでは、つぶやきの最初30文字をタイトルに充てているところ、最初の改行までをタイトルにするようにしました。
これが$tw_text_arrと$wpdb->escape($tw_text_arr[0])の部分。

つぶやき中の短縮URLを元のURLに展開するため、tcoDecodeと言う関数を作り、投稿記事を$wpdb->escape(aktt_make_clickable(tcoDecode($tweet->tw_text)))として取り込んでいます。

tcoDecode関数はこれ。
twitter-tools.phpの最後に追加しました。


function tcoDecode($contentData) {
	require_once "HTTP/Request.php";
	$http_opt = array( "timeout" => "10","allowRedirects" => false,"maxRedirects" => 3);
	$strPattern = "http://t.co/.+";

	if(preg_match('/'.$strPattern.'/m', $contentData, $matches)>0)
	{
		
		$http = new HTTP_Request($matches[0], $http_opt);
		$response = $http->sendRequest();
		if (!PEAR::isError($response))
		{
			$ret= $http->getResponseHeader();
			$longURL = $ret["location"];
			$contentData = preg_replace("/".$strPattern."/",$longURL,$contentData);
		}
	}
	return str_replace("#blogjp","",$contentData);
}

最後の返しにある置換str_replace(“#blogjp”,””,$contentData)はつぶやき中から#blogjpと言うハッシュタグを削除してます。
つぶやきのすべてをブログに投稿してしまうのも変なんで、この#blogjpというハッシュタグが入ったつぶやきだけ取り込みようにしました。
その部分の改造がtwitter-tools.phpの549行目あたり。


		if (strpos($this->tw_text,'#blogjp')!==false && $aktt->create_blog_posts == '1' && !$this->tweet_post_exists() && !$this->tweet_is_post_notification() && (!$aktt->exclude_reply_tweets || !$this->tweet_is_reply())) {
			$aktt->do_tweet_post($this);
		}


strpos($this->tw_text,’#blogjp’)!==falseってのが追加した条件です。

あとはファイルをアップロードし、プラグイン「Twitter Tools」を有効化。
プラグインの設定画面で”Create a blog post from each of your tweets?”を”yes”に、”Category for tweet posts”でつぶやくを投稿するカテゴリを選択します。

これで完了!
どうぞお試しあれ。

LINEで送る
Pocket

You can leave a response, or trackback from your own site.


2 Responses to “TwitterでWordPressに投稿する方法”

  1. […] 以前書いた「TwitterでWordPressに投稿する方法」の続き。 なので、以前の記事のようにTwitterからWordpressへ投稿する、と言う環境以外ではあまり意味のないネタです。 […]

  2. […] 以前、こんな記事を書いた。 「TwitterでWordPressに投稿する方法」 […]

コメントをどうぞ

*
コンメントされる際は、画像に表示された文字を入力してください。
Anti-spam image