WordPress の過去記事をツイートしてくれる「Tweet Old Post」の文字数を修正

過去記事をランダムにツイートしてくれる「Tweet Old Post」ですが、ツイートされる文字数が妙に少ないので調べて修正しました。

プラグインフォルダの

tweet-old-post/top-core.php 

の204行目辺りにある function set_tweet_length を下記のように修正

/*
function set_tweet_length($message, $url, $twitter_hashtags="") {
$message_length = strlen($message);
$url_length = strlen($url);
$hashtags_length = strlen($twitter_hashtags);
if ($message_length + $url_length + $hashtags_length > 140) {
$shorten_message_to = 140 - $url_length - $hashtags_length;
$shorten_message_to = $shorten_message_to - 4;
//$message = $message." ";
$message = substr($message, 0, $shorten_message_to);
$message = substr($message, 0, strrpos($message, ' '));
$message = $message . "...";
}
return $message . " " . $url . " " . $twitter_hashtags;
}
*/
function set_tweet_length($message, $url, $twitter_hashtags="") {
$message_length = mb_strlen($message);
$url_length = mb_strlen($url);
$hashtags_length = mb_strlen($twitter_hashtags);
if ($message_length + $url_length + $hashtags_length > 140) {
$shorten_message_to = 140 - $url_length - $hashtags_length;
$shorten_message_to = $shorten_message_to - 4;
//$message = $message." ";
$message = mb_substr($message, 0, $shorten_message_to);
$message = mb_substr($message, 0, mb_strrpos($message, ' '));
$message = $message . "...";
}
return $message . " " . $url . " " . $twitter_hashtags;
}

文字列関連の関数を全てマルチバイト対応の関数に変更しただけなんですけど、これで本来の文字数でツイートされると思います。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする