過去記事を自動ツイートするWordPressプラグイン「Tweetily」でタイトルが表示されないときの対処方法

Wordpress

カスタマイズ大好きなアットホームギーク(@drying)です。

以前から過去記事を埋めれないようにするためにWordpressプラグイン「Tweetily」を使ってランダムにツイートしていましたが先日自分のツイートを見てみるとこんな大失態をしていることに気づきました。


タイトル表示されてへんやん。これ俺やったら絶対クリックせんな。

てことでGoogle先生で調べましたらカンタンな解決方法を発見!ついでにプラグインの使い方も紹介しようと思います。

過去記事をランダムに自動ツイートできる「Tweetily」

いつもとちょっと違うプラグインのインストール方法

プラグインのインストールを行いたいところなんですけど実は2年以上更新がないからなのかWordpress管理画面から検索しても出てきません。ですのでWordpressのウェブサイトよりプラグインファイルをダウンロードする方法でインストールします。
※最新のWordpressのバージョンに対応していないためそれにより不具合が生じる恐れがありますが当ブログでは責任を負えませんのでご了承ください。ちなみに当ブログの環境ではまったく問題なく快適に動いてます。

まずはこちらにアクセスしてください。

WordPressプラグイン「Tweetily」のダウンロードページ
https://wordpress.org/plugins/tweetily-tweet-wordpress-posts-automatically/

160129-3

「Download Version4.1」をクリックしプラグインファイルをダウンロードします。

160129-4

すると「tweetily-tweet-wordpress-posts-automatically.4.1」という名前のzipで圧縮されたファイルがダウンロードできたと思います。zipファイルは解凍したくなりますがそのままで。

次にWordpress管理画面より「プラグイン」→「新規追加」をクリックします。

160129-1

「プラグインのアップロード」をクリックします。

160129-5

「ファイルを選択」をクリックし先ほどダウンロードしたzipファイルをアップロードします。

160129-6

アップロードが出来たら「今すぐインストール」をクリックします。あとは有効化すればインストール完了です。

160129-7

WordPressプラグイン「Tweetily」の設定方法

WordPress管理画面左メニューの「Tweetily」から設定ができます。

160129-8

Next Tweet coming in

次にツイートするまでの時間が表示されます。ツイートする時間の設定を変更するとここの時間もリセットされます。

Tweet Content

ツイートするときにタイトルや抜粋文を含むか。

「Post Title Only」がタイトルのみ

「Post Body Only」が抜粋文のみ

「Both Post & Body」が両方

このブログでは深い意味はないけど「Post Title Only」にしてます。

Additional Text

ツイートに文章を追加できます。このブログでは大阪出身をアピールするためなのかなんなのか[こんなのもありまっせ!]とタイトルの前に付けています。

Additional Text Location

上記で追加した文章の位置を指定します。

「Beginning of the tweet」なら最初

「End of the tweet」なら最後

このブログでは「Beginning of the tweet」にしてます。見た目的にもそっちの方がぜったいいい。

Include Link

ツイートにリンクを追加するかですがこれは間違いなく「Yes」を選びましょう。

#Hashtags

ハッシュタグを追加するか。このブログでは「No.Don’t……」にしてます。てか過去記事ツイートするだけやのに必要あります?まああんましハッシュタグ使いこなせてなし必要性があんまり見いだせてないねんけど。
追加する場合は、「Yes. ……」からご自身の用途に合わせて選択してください。

Time between tweets

ツイートする間隔を設定します。あんまり短すぎてもあれだしってことでこのブログでは「20」にしてます。もちろんはあちゅうさんが言うように僕らは村上春樹さんじゃないねんからどんどんツイートしてもいいと思います。

Random Time Added

投稿が同じ感覚にならないように先ほど設定したツイート間隔にランダムに時間を追加することができます。必要かどうかは別としてより自動ツイートっぽくなく手動でやってる感が出ます。このブログでは「4」にしてます。

Minimum age of post

何日目以降の記事をツイートするか設定できます。例えば「0」なら今日投稿した記事も含まれます。目的は過去記事が埋めれないようにするためですし新規投稿のツイートと被らないためにもということで「10」にしてます。

Maximum age of post

何日目までの記事をツイートするか設定できます。このブログは2月1日で1周年なんで今のところは「365」にしてます。

160129-10

Enable Logging

チェックを入れるとログを残すことができます。そのままでいいと思う。

Number of Tweets

1回に投稿するツイート数を設定できます。このブログでは「1」にしてます。てか1でいいでしょう。

Select post type

ツイートする記事タイプを記事だけなのかそれとも固定ページだけなのかを設定できます。よっぽどのことがない限り「Only Posts」でいいはず。

160129-11

Exclude Categories

自動ツイートの対象としないカテゴリを選択できます。

ここまでの設定が終わったら必ず「Update Tweetily Options」をクリックして設定を保存しておきましょう。ちなみに「Tweet Now!」をクリックすると実際に過去記事がツイートされるので動作確認できますよ。

160129-12

さて次はいよいよ日本語対応ですね。

「Tweetily」を日本語対応する方法

このままだと前述したタイトルが表示されないままツイートしてしまいますので少しプラグインのコードをイジってやります。
※ファイルを編集するときは必ず元のファイルのバックアップを取ってから行ってください。

編集するプラグインファイルの場所はこちらです。
/wp-content/plugins/tweetily-tweet-wordpress-posts-automatically/

160129-13

その中にある「top-core.php」を編集します。

サーバーから直接編集してもいいんですけどアヒルくんでおなじみのCyberduckとテキストエディタAtomを使えば作業がバツグンにはかどりますよ。

Cyberduck

2,900円
(2016.01.29時点)

App Store

posted with ポチレバ

Atomのダウンロードはこちらから
https://atom.io/

ちなみにAtomについてはこんな記事も書いてます。

Cyberduckを使って「top-core.php」をダウンロードしたらAtomで開いてファイルを編集します。

編集というか追記なんですけど406行目から428行目までにある「strlen」、「substr」と「strrpos」の頭に「mb_」を追加してやります。

これが編集後のコードです。マークアップされている行が「mb_」を追加したところです。

function set_tweet_length($message, $url, $twitter_hashtags="", $hashtag_length=0) {

    $tags = $twitter_hashtags;
    $message_length = mb_strlen($message);
    $url_length = mb_strlen($url);
    //$cur_length = strlen($tags);
    if ($hashtag_length == 0)
        $hashtag_length = mb_strlen($tags);

    if ($twitter_hashtags != "") {
        if (mb_strlen($tags) > $hashtag_length) {
            $tags = mb_substr($tags, 0, $hashtag_length);
            $tags = mb_substr($tags, 0, mb_strrpos($tags, ' '));
        }
        $hashtag_length = mb_strlen($tags);
    }

    if ($message_length + $url_length + $hashtag_length > 140) {


        $shorten_message_to = 140 - $url_length - $hashtag_length;
        $shorten_message_to = $shorten_message_to - 4;
//$message = $message." ";
        if (mb_strlen($message) > $shorten_message_to) {
            $message = mb_substr($message, 0, $shorten_message_to);
            $message = mb_substr($message, 0, mb_strrpos($message, ' '));
        }
        $message = $message . "...";
    }
    return $message . " " . $url . " " . $tags;
}

このファイルをFTPソフトを使って同じ場所にアップロードすれば完成です。

ちなみにたぶんないと思いますがプラグインが更新されればファイルも新しく上書きされますので再度上記の編集をしないといけませんのでご注意ください。

長々お付き合いいただきありがとうございます。
お疲れ様でした。

参考:WordPressの過去記事を自動でツイート Tweetily | いわしブログ

さいごにひとこと

自分のツイートを眺めていたら気づいた今回のこと。いくら自動でできるからたまにはちゃんとできているのか確認しないといけないですね。

もっと曜日や時間を詳しく設定したいって方はこちらもオススメです。

はあちゅうさん見習ってどんどんツイートするぞ!

タイトルとURLをコピーしました