Twitter カード絡みのエラーの原因がなんとなく判明!
投稿日:2019/12/11 更新:2019/12/11 コメント 0件 Twitter twitter, Twitterカード, エラー, ブログカードワードプレスの記事をプレビューすると以下のようなTwitterカード絡みのエラーが出ることがあったんですが原因がなんとなく分かりました。
Warning: getimagesize(/blog/wp-content/uploads/20160627034.jpg): failed to open stream: No such file or directory in /~●●●~/twitter-card.php on line 43
原因
Twitterカードとは下図のようにツイートを画像付きで見栄えが良いように見せるもので、そのTwitterカードを表示させるためのコードは以下のサイトを参考に設置しています。
プラグイン不要でTwitterカードをコピペでサクッと設置する方法
エラーが出た「twitter-card.php」には以下のようなコードを記載されています。
//画像の縦横幅を取得 43: list($width,$height) = getimagesize($img_url);
通常、画像リンクを貼る場合には以下のようなフルアドレスで記載すると思います。
<img src="https://edit-anything.com/blog/wp-content/uploads/R0021124_R.jpg"
ワードプレスでは以下のように記載してもドメイン等が自動補完されるために画像は問題なく表示されるんですが、「twitter-card.php」ではその補完される前のアドレスを参照するために画像がないと判断されてエラーが出ているみたいです。
<img src="/blog/wp-content/uploads/R0021124_R.jpg">
他のブログサービスで書いた記事を移転作業中にアドレスを置換していたんですが、その際に省略URLを記載していたためにこのようなエラーが表示されたわけですね。ただ、省力URLを記載していもたまにエラーが出ないこともあるんですがそれについてはまだ原因が分かりません。
エラーが出ても公開するとエラーは出ないんですが気持ち悪いのでこれからは省略せずに書こうと思います。
月額900円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』