[Pz-LkC][1.6.3]リンクをカード形式で表示するプラグイン更新。ツイート数取得の停止など。

Pz-LinkCard
この記事は約9分で読めます。

リンクをカード形式で表示するWordPressプラグイン「Pz-LinkCard」。

最新版ver1.6.3を公式プラグインディレクトリで公開しました。

このプラグインはなんだ?Σ(゚ロ゚)o゙

この「Pz-LinkCard」は、リンクをカード形式で表示するWordPress用プラグインです!Σ(゚ロ゚)o゙

インストール方法や使い方は下記ページに用意させていただいています。

「WordPressでリンクをブログカード形式で表示させたいけど、プラグインとかで手軽にやりたーい!Σ(゚ロ゚)o゙」

「見た目、外観、外見、デザインもサイトに合わせて変更したーい!Σ(゚ロ゚)o゙」

そんな方にお勧めです。

ver1.6.0→ver1.6.3

ツイート数取得を停止しました

ツイッター開発ブログにて「今後はツイートボタンにツイート数を表示しなくなります。変更は2015年11月20日までに完了する予定です。」という情報があり、それに伴い公式に公開していないけどユーザーが広く使っていたカウントAPIも機能を継続しないとされていました。

(日本時間での)2015年11月21日の夜23時くらいまではカウントが取れていました。

get-tweet

そして、朝9時頃には取得ができなくなっていました。

sorry-count

今後はツイート数のリクエストをしてもエラーが返却されるだけなので、「無駄なアクセス」になってしまいます。

このため、ツイート数取得の処理を停止しました。

(ver1.6.0で時限的に停止するようにしたのですが、20日になってもカウントが取れていたので、ver1.6.1~1.6.2で再度取得するようにしていました。)

バグ修正

「ツール」から「Pz カード管理」という画面に入れて、キャッシュされているリンク先の記事内容を編集したり再取得することができます。

pz-lkc-manager

「ソーシャルカウントの再取得」という機能のところに、取得する処理を2回書いてしまったため、再取得を選ぶと2回実行されていました。

これはver1.6.0で発生した不具合ですが、修正しました。

今後の予定

リンク先の記事内容の取得にcURLを使って、cURLが有効でないサーバーの場合はwp_remote_getを使ったり。

ソーシャルカウントの取得にスケジュール(wp-cron)を使ったり。

ver1.1.1→ver1.6.0でそんなことをやったので、サーバーによって取得できない不具合とかあったらどうしようとドキドキしています。

何か挙動が変だったら教えてください…!(>_<)

 

一応、テスト環境で開発を行って、動作テストが済んだら「ぽぽづれ。」に適用して、数時間~数日動いたら公式ディレクトリに上げるようにしています。

wp-cronまわりは初めて触ったので、一週間以上動作確認したりはしたのですが…。(テスト時は状態をメールするようにしていたので、メールボックスが凄いことになりました…!Σ(゚ロ゚)o゙)

 

それはともあれ、今後ですが、今のところ修正する予定は無い感じです(^-^;

どうしようか考えているものはいくつかあるのですけど。要望があれば優先度が上がると思いますけど…!

非公開記事・パスワード付記事の扱い

現在、内部リンクとして非公開記事などをリンクした場合でもタイトルと抜粋文が表示されます。

クリックすると当然表示できないのですが、冒頭に重要なことを書いていたりすると見えてしまう可能性があります。

(そもそも、そんなURLを指定しないようにご注意ください(^-^;)

(もちろん、外部リンクの非表示記事とかは取得できませんので!)

かといって、取得できないようにしてしまうと、パスワード記事中で内部リンクを付けるときに不便になりそうです。

「パスワードで保護されいてる記事も取得」みたいなチェックがあると良いのかなぁ?(^-^;

表示されても抜粋文200文字程度なので、パスワード付きの記事へ誘致するような使い方もできるかと思います。

今のところ必要性を感じていないので、要望があれば対応を考えます。

(2015/11/22追記)詳細にテストはしていませんが、予約投稿やゴミ箱に入れても取得できてしまうかもしれません。あくまでも内部リンクなので、意図して指定したときしか起こらない現象だとは思うのですが。リンクを開くと「記事がありません」になるはずなので実害も無い気もします。

ソーシャルカウントのバックグラウンド取得

ソーシャルカウントは初回表示時に取得したあとは、バックグラウンドで順次再取得します。

普段あまり表示されていないカードでも一定期間を過ぎると勝手に更新します。

「表示されるとき、一定期間を過ぎていたら再取得」(カードの表示が遅くなる場合がある)

「表示されたとき、一定期間を過ぎていたらバックグラウンドで再取得」(遅くならないけど、表示時に反映されない)

「表示に関係無く、一定期間を過ぎているものをバックグラウンドで再取得」(←現在)

こんな選択肢があると良いのかどうなのか。

1回のスケジュール処理時に、最大10件しか取っていないので、これも調整した方が良いのかどうなのか。

更新期間も初回表示から7日間はほぼ毎日更新、7日を過ぎたら一週間ごと更新する感じでスケジュールしています。

記事そのものに表示されるカウントでは無いので、あくまでもカードの「装飾の一部」と考えているため、あまり凝った設定は無い方が良いとは考えています。

記事内容のバックグラウンド取得

当プラグインでは「リンク先のタイトルや抜粋文」をまとめて「記事内容」と呼ぶことにしています。

記事内容の取得は、リンクカードの初回表示時に取得しています。これはリアルタイム(その場)で取得しているので、表示するまでに時間がかかります。

記事を書いてプレビューしたりすると表示されるため、「初回表示に時間がかかる」に当たる人は、サイト管理者になることがほとんどだと考えています。

「記事内容の取得をバックグラウンドで行う」という設定を加えるかどうか悩み中。

知的好奇心としてはやりたいと思うので、放っておいてもその内やるとは思います。

初回表示から高速になるけど、取得するまでの数秒~数分間、リンクカードに「(記事取得中)」とか表示されます。

ツイッター検索の表示

ツイッターのツイート数が取得できなくなったわけですが、そこそこシェア数を貰える大手サイトさんなんかは「リスト」という表示方法に切り替えているところが見受けられます。

ツイッター検索にURLを放り込んでいるだけなので、ツイート数に関係無く「Twitter」という文字を表示させて、クリックすると検索という機能を付けられなくもないです。

でも、公式のツイッター検索って、「網羅的な」(全部を集める的な)検索では無くて、トレンド(流行り)というか、そういうのが優先的に登録されたり表示されたりするようなので、自分のツイートとかそういうのは2日後くらいに登録されたり、引っかからなかったりする状態です。

ツイートAPIが終了したら実装をしようかとも考えていたのですが、実際にやってみると「押しても結局0件」というページへのリンクは不毛な気がするので当面見送ります。

CSS見直し

本当はきれいにしたいのですが、知識が足りません(^-^;

「@media」とか使って、モバイル時のスタイルもうまくやりたいのですが…。

知識が足りていないというのが現状です(^-^;

どなたかカスタマイズしたのを逆輸入したいくらいです!Σ(゚ロ゚)o゙

サムネイルの取得

外部サイトのサムネイルは自前では取得を行っておらず、WordPress.orgやHeratRails Captureの利用をお勧めしています。

自前での取得は、ディレクトリに画像ファイルを何百と保存することになるので、その管理とかが面倒というか、ディレクトリとかファイルとか「作る」のは良いのですが、「削除」が!Σ(゚ロ゚)o゙

ファイル作るだけ作ってアンインストール時に消さないで良いなら実装はラクなのですが、「習熟度が低い」せいもあると思うのですが、「削除」はこわいのですよ!Σ(゚ロ゚)o゙

プロの方でも、上位ディレクトリごと消しちゃったニュースとかありますので。

そして、そもそも取得。

XSS対策とかできる自信が無いので、やっぱりやらない予定です。

サムネイルの大きさ

現在、100px × 100px 固定です。

モバイル端末など、「横幅が狭い時にタイトルでいっぱいいっぱいになって、抜粋文が表示されない問題」があります。

モバイル時に50px × 50pxとかにできると幸せな気もするのです。

もしくは150pxとか200pxとか大きさを変えたい方もいるのかも知れないですが、設定によって崩れてきそうなので「設定」として追加するのは難しいと感じています。

「どこを直すとサムネイルの大きさが100×100以外になるか」とかは質問があればお答えします。

ちなみに「pz-linkcard-templete.css」の、「.lkc-thumbnail」と「.lkc-thumbnail-img」のところに、それぞれ「max-width: 100px;」「max-height: 100px;」というのがあるので、それぞれ「100px」→「50px」とかにすれば直ります。

(pz-linkcard-templete.css を直したら、「設定」→「Pz カード設定」画面で「変更を保存」ボタンを押してください。)

内部リンクのキャッシュ

内部リンクはソーシャルカウントの保存のためだけに、タイトルと抜粋文も保存しています。

ソーシャルカウントを表示していない方にとっては無駄な容量を取っている、という状態です。

ソーシャルカウント用にDBテーブルを作成することで解決しそうな気もしますが、「リンクをカードで表示する」目的のためだけにDBテーブルを2つ作るのは違う気がするので多分このままです。

内部リンクの場合、カテゴリーページやタグページが正しく表示できないのは課題です…。(っていうか、検討するの忘れてた!Σ(゚ロ゚)o゙)

その他

プラグイン作成の原動力は「知的好奇心」が大きいところです。

wp-cronとかは「使ってみたかった」ので、まさにそんな感じ。

そもそも「公式ディレクトリに登録することをしてみたかった」ので公開した、というところもあります。

その「知的好奇心」をくすぐるスパイスとしては、「要望」だったり「質問」だったり。

とりあえず、実現できるかどうかは別として、ご要望やご質問がありましたらお気軽にどうぞ(^-^)o

 

不具合報告などはコメント欄やツイッター経由でどうぞ。

ツイッターアカウント(@popozure)はフォローなしのDM(メッセージ)も許可しているので、とか飛ばしていただいて大丈夫です。

コメント欄とかで質問しつつ、不具合が出ているURLとかはDMでひっそり送っていただいたりしていただけると対応しやすいです(^-^)o

では(^-^)o

コメント

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