Intagrate Liteを使ってWordPressのタイトルからハッシュタグを取り除いちゃおう!
こんにちは。羽柴玲です。
今回は、WordPressのプラグイン「Intagrate Lite」について書きたいと思います。
私もめちゃめちゃ活用しています。
クリスタルブルーデイジーの大半はInstagramからの投稿なので笑
プラグイン自体の利用方法については、多々と記事がありますので省略です。
今回は、私の不満を解消した方法のご紹介です。
※↓こちらに最新記事もあります↓※
Intagrate Liteへの不満
私はInstagramからの連携は、下書き投稿で連携しています。
厳選したものだけを記事にしたい。というのもあるのですが、一番の理由はこれでした。
記事タイトルにハッシュタグが入ってしまう!!
ハッシュタグは、#○○ #▼▼とった記述のことです。
TwitterやInstagramでよく見かけるものです。
それらのSNS上では、便利な記載なのですが、ブログタイトルとしては邪魔くさいもの以外の何物でもありません。
なので、ハッシュタグをタイトルから除去したい!という不満を常々持っていました。
解決方法は?
私は、解決方法がないものかといろいろ調べてみました。
英語が苦手なので、Intagrate Lite関連の説明を解読するのに苦労しました…
わかったことは、
- Intagrate LiteにはPRO版があること
PRO版ではハッシュタグを取り除く機能が追加されていること - Intagrate LiteのライセンスはGPLであること
でした。
PRO版はもちろん有料です。わりといいお値段しました(´・ω・`)
なので、ライセンスがGPLということをだったので、自分で変更しちゃうことにしました。
(ソースの解析にそこそこ時間がかかったのは内緒笑)
Intagrate Liteの修正
今回は、WordPressのプラグインがどこに入っている。とか、どういうディレクトリ構成なのか。といったことは省略しちゃいます。
メインは、Intagrate Liteをどう直したか。ということなので。
修正イメージ
今回の修正を対応すると、どうなるのか。というイメージをまずお見せしますね。
下の画像がInstagramの投稿イメージになります。「#スマホで撮影 #スマホ撮影 #カメラアプリで遊ぶ」といった、ハッシュタグが付いていると思います。
そのまま連携してしまうと、WordPressのタイトルは
「みているわよ…..笑実はミスって保存されてた奴なんだけど、わりと面白い感じにできてた笑#スマホで撮影 #スマホ撮影 #カメラアプリで遊ぶ」
になります。長いですよね…見にくいですよね…
しかし、今回の対応を行うとこんな感じの投稿が手を加えることなくできます!
本文からもハッシュタグがなくなってしまいますが、タイトルも本文もスッキリした感じに連携できていると思います。
本来の一言投稿であれば、もっとスッキリ連携できると思います。
利用する際の注意としては、ハッシュタグ以降の文字列を切り捨てるので、ハッシュタグは末尾にまとめて追加してね。ということくらいです。
修正方法について
ではでは、ここから修正方法についてご紹介していきますね!
バックアップする
とりあえず、今回はプラグインを直接編集するので、バックアップを取得しておきましょう。
もしもの時は、バックアップからまるっと復元してしまえば、なかったことにできます!笑
バックアップするのは
<WordPressのインストールディレクトリ>/wp-content/plugins/instagrate-to-wordpress
です。
レンタルサーバーの設定などによっては、「/plugins/instagrate-to-wordpress」の場合もあります。
関数を作成する
人によっては、なんのこっちゃ?ですよね。
まぁ、細かなことは気にしないでください。以下の手順通りにすればとりあえずできます()
Ⅰ.「removeHashTag.php」というテキストファイルを作成する
ファイル名は何でもいいです。上記のファイル名から変えた場合は、以降の手順すべてをご自身がつけたファイル名に読み替えてください。
Ⅱ.テキストファイルに以下の内容を記載・保存する
コピーアンドペースト通称コピペをおすすめします笑
<?php function remove_hashtag($caption) { $workCap = $caption; $location = mb_strpos($workCap, "#"); if ($location !== false) { $workCap = mb_substr($workCap, 0, $location); } return $workCap; } ?>
簡単に何をしているか説明しておきますね。
これは、まずハッシュタグのキーワードである「#」の存在を確認しています。
存在した場合は、「#」の位置を返します。存在しなければ「false」を返します。
「mb_strpos」を利用しているのは、投稿を日本語で行うので、マルチバイト対応しているものを利用しているだけです笑
英字などの半角文字列の場合は「strpos」関数でも問題なしです!
$location !== false
これは、厳密に判定するために「!==」を利用しています。sb_strpos関数は、先頭で検索文字列を検知した場合「0」を返すため
「!=」では、誤判定してしまうためです。
mb_substr($workCap, 0, $location)
ハッシュタグの手前の文字列までを取得します。
「mb_substr」を利用しているのは、mb_strpos同様、マルチバイト対応しているものを利用しました。
英字などの半角文字列の場合は「substr」でも問題ないです!
Ⅲ.FTPでサーバーへアップロードする
アップロード先は
<WordPressのインストールディレクトリ>/wp-content/plugins/instagrate-to-wordpress/php/
です。バックアップした時同様、環境によっては「/plugins/instagrate-to-wordpress/php/」になります。
作成した関数を利用する設定にする
Intagrate Liteのメイン処理のファイルをダウンロードします。
ダウンロードするのは、
<WordPressのインストールディレクトリ>/wp-content/plugins/instagrate-to-wordpress/instagrate-to-wordpress.php
です。
ダウンロードした「instagrate-to-wordpress.php」を開き、以下の内容を追記していきます。
Ⅰ.「require_once」をファイル内で検索します
だいたい35行目あたりで確認できると思います。35行目と36行目あたりの2行です。
Ⅱ.「removeHashTag.php」ファイルの定義を追加する
以下の3行目の赤字の記述を追加します。(上2行は、①で確認した記述です)
require_once ITW_PLUGIN_PATH . 'php/instagram.php'; require_once ITW_PLUGIN_PATH . 'php/emoji.php'; require_once ITW_PLUGIN_PATH . 'php/removeHashTag.php';
Ⅲ.「emoji_html_stripped」をファイル内で検索します
だいたい483行目あたりで確認できると思います。1件しかヒットしないのでわかりやすいと思います。
Ⅳ.関数を呼び出す処理を追加する
以下の2行目の赤字の記述を追加します。(1行目は、③で確認した記述です)
$clean = emoji_html_stripped( $clean ); $clean = remove_hashtag( $clean ); $clean = trim( $clean );
Ⅴ.「instagrate-to-wordpress.php」をアップロードする
変更を保存したら「instagrate-to-wordpress.php」を上書きアップロードします。
上書きするファイルは
<WordPressのインストールディレクトリ>/wp-content/plugins/instagrate-to-wordpress/instagrate-to-wordpress.php
です。
動作確認をしてみましょう
Instagramで投稿を行い、連携結果を確認してみてください。
先にあげた、イメージのように投稿されていると思います。
うまくいかない場合は、修正したコードを再度確認してみてください。
どこか、おかしなところがあるはずです…
修正にあたっての注意
ソースコードに直接手を加えますので、修正は自己責任でお願いします。
失敗すると、うまく動かなかったり、環境を壊してしまう可能性があります。
まとめ
Intagrate Liteのプラグインは便利ですし、そのままでも十分使えると思います。
無理に手を加えなくても、利用する場合に手間をかけてやればいいだけです。
私のように、下書き保存したのちに編集してもよいですし、Instagramのメイン投稿時にはハッシュタグをつけずに投稿後にコメントに追加する方法もあります。
新たなプラグインを作成するのは膨大な手間と時間がかかりますが、
ソースコードがわかる場合は、自分用にカスタマイズして使い勝手を挙げてもいいと思います。
それすら手間と感じるなら、そのまま使うか、PRO版の購入もありだと思います。
むしろ、それが一番らくちんな方法ですし笑
カスタマイズするにあたっても、元のコードの作りがよくない場合は無理だ!!!!!ってなっちゃいますし笑
最後に、再三ではありますが、
バックアップを取っておけばひとまず安心ですけど、絶対ではないので自己責任でお願いします。
私は責任を負えません。今回も、ご紹介をしましたけど、あくまで自分用にカスタマイズ!がメインコンセプトですし。
というわけで、今回はこの辺で….
See you next again…
ディスカッション
コメント一覧
ウザいハッシュタグの#○X▲、、、が取れて、とてもありがたい記事なので参考にさせていただきました。
ただ、いくつか問題があって、コピペでは動かない、、、どころかページが真っ白になって表示されなくなります。
こちらの記事の手順に加えて、僕が行った修正は以下の通りですが、一番の問題は4番めのファイル名の指定が間違っていることだと思います。その他のことはスペルの間違いなので、すべてが統一されていれば問題ありません。
1 「removeHashag.php」というテキストファイル名は「removeHashtag.php」ではないでしょうか?(すべてこれで統一されていれば問題はないかもしれませんが、、、)
2 上記PHP内部の記述「function remove_hashag($caption) {」も「function remove_hashtag($caption) {」では?
3 「instagrate-to-wordpress.php」内で、「require_once ITW_PLUGIN_PATH . ‘php/remHashTag.php’;」のファイル名は先に作ったものと異なります。「require_once ITW_PLUGIN_PATH . ‘php/removeHashtag.php’;」としないとPHPファイルを参照できません。(これが一番問題)
4 同PHPファイル内の「$clean = remove_hashag( $clean );」も「$clean = remove_hashtag( $clean );」では?
以上のような修正をしたら、サイト内が真っ白になることは避けられ、タグ除去もちゃんと機能ました。
ご指摘ありがとうございます!確認して、修正させていただきますね!