pz-linkcardのバグ

WordPress で外部サイトのURLをリンクする際に、URLを自動的にわかりやすいカード型表示に変換してくれるプラグインに、pz-linkcard という便利なものがあるのだが、これが実装が不十分でエラーを出しまくる。

リンク先の文字エンコードがちょっとおかしいとエラー、画像だとおもわれるデータが画像でないとエラーといった具合だ。

リンク先には様々なものがあるので、こうだと思っていたものがこうでない場合は多々あるのだが、そうだと決めつけてプログラムされていて、そうでなかった場合が想定されていないので、PHPがエラーを吐いて、その記事全体がエラーコードで埋まってしまう。

こうなってしまうと、プログラマでない人には対処が難しいかもしれないが、プログラムに手を入れる必要が出てくる。あるいは、そのURLは諦めるという方法もあるが…

修正自体はそれほどむずかしくなる、エラーログからエラー箇所を特定して、エラーが起きないように、事前にデータチェックをするか、エラーが起きた時に try – catch で逃がすかすれば良い。

今のところ、私が修正したのは、文字エンコード指定のエラーと、画像処理関係のエラー。文字エンコードは、判定箇所でエラーだったので、今時のWebはほぼUTF-8 なので、UTF-8固定でかわして、画像処理はデータが正しいBase64エンコードでない場合にエラーになるので、事前に正しいBase64データかどうかを確認するようにした。

カテゴリー: ZAKKI パーマリンク