リンクをカード形式で表示するWordPressプラグイン「Pz-LinkCard」。
最新版ver1.7.1を公式プラグインディレクトリで公開しました。
このプラグインについて
WordPressでリンクをブログカードっぽく表示したりするプラグインです。
WordPress4.4でURLを直書きするとインラインフレーム(iframe)でカードっぽく表示される機能が実装されました。(リンク先もWordPress(4.4以上)である必要があったり、レイアウトの変更はスタイルシートをいじる必要があります。)
また、現在、当サイトでも使用している、わいひら(@MrYhira)氏作成のテーマ「Simplicityシリーズ」などでもブログカードの機能があります。
iframeタグを組み込むブックマークレットを使用する方法や、function.phpに組み込む方法など、リンク先をブログカードを表示する方法はいくつかあります。
そういったものを比べて自分の使い方とかに合った方を使うとよいと思います。
当プラグインの強みとしては、ショートコードはurlを指定するだけなので、今後同じような高機能なプラグインが見つかった場合、乗り換え易かったり、そのときの気分やテーマに合わせて一括に外観を変更できる点だと思います。
ver1.7.0→ver1.7.1変更点など
今回は2016年7月12日に公開したver1.7.0に対するマイナーバージョンアップで、不具合の修正が主な変更点となります。
記事内容が取得できない不具合を修正
当プラグインは、外部のリンク先のタイトルや記事を抜粋して、それをDBに保存(キャッシュ)することで、見栄えの良いカード形式のリンクと、抜粋分の取得のために相手サイトへの負担をかけないのが特徴です。
詳しい原因を解明するよりも解消を優先してしまったため、原因究明は出来ていませんが、一部環境にてリンク先の情報がキャッシュされない不具合がありました。
修正のために取得と保存の部分をだいぶいじってしまったので、不具合があった場合にはお知らせいただければ早めに対応いたします。
(報告をいただいた方からは、正常に取得できるようになったと報告をいただきました。ありがとうございます。)
取得エラー時のサムネイル取得抑制
外部サイトのとき、記事内容を取得したときに「200 OK」以外の場合にWebAPIを使用してサムネイルを取得しにいかないように修正しました。
ほとんどの場合、「403 Not Found」とかが表示されるため。リンク先が生きていてもブラウザ以外から取得するとエラーコードを返すサイトもあるため、このような仕様としました。
内部リンクの結果コードをHTTPステータスに準拠
内部リンクの場合には、正常取得は「0」、記事以外の場合は「-1」が入ったりしていましたが、HTTPステータスコードに準じて「200」、「403」が入るようになりました。
これは、サムネイル取得抑制のほか、今後実装予定のアライブチェック(存在確認)のためです。
アライブチェック実装に向けての準備
リンク先サイトが、取得時は「200 OK」だったのに、一定期間後に「403 Not Found」になってしまった場合などに、お知らせする機能「アライブ チェック (alive check)」を実装予定です。
当プラグインは「リンク先が消滅しても記事内容(タイトルと抜粋文)が当時のまま残る」というのも特徴としているので、「サイト管理者へのお知らせ」と、「Aタグ除去(URLは表示させるけど、リンクは有効にしない)」機能として実装予定です。
実はこの機能の実装は難航しておりまして、WP-CRONでcURLが上手く動いていません。(^-^;
WP-CRONで実行されているもののデバグに詳しい方、記事などがありましたら教えていただけると助かります。(^-^;
あ、コードを寄贈していただくのもアリですΣ(゚ロ゚)o゙←
今回は、以上です。
やったことは「不具合修正(デバッグ)」だけなのですが、結構プログラムの中身をいじってしまったので、ある程度余裕が出来たら綺麗にしたいと思っています。
あぁ、知力と体力と技術が欲しいです…。(←いつも言ってる。)
では、この辺で。(^-^)o
コメント
はじめまして。とても便利なプラグインをありがとうございます。
既にどなたかがご指摘していらっしゃるかもしれませんが、
先日、新規に現在の最新版をインストールした際、データベースにキャッシュ用のテーブルが作成されない不具合がありました。
調べたところ、プラグイン本体のテーブル作成のSQLコマンドに2ヶ所程問題があるようです。
・VARCHAR→VARCGARのスペルミス
・update列がコマンド名と同じためエラーが出る
SQL文を修正してテーブルを作成したところ、うまくキャッシュされるようになりましたので、ご報告まで。
codes /cipher さん、コメントありがとうございます。
SQL記述ミスは指摘されており、お恥ずかしい限りですが、現在修正版がリリースできておりません。
ありがとうございます。