Pz-LinkCardでデフォルトのサムネイル画像を表示する方法

ワードプレスのプラグイン「Pz-LinkCard」を利用していてカテゴリーページでサムネイル画像が取得できない場合に、代わりにデフォルトのサムネイル画像を表示したい、そんなときに使えるJavaScriptコードをご紹介します。

「Pz-LinkCard」では現状デフォルトのサムネイル画像を設定する機能はありませんので、ちょっと強引な手法にはなりますがよければ試してみてください。

直前あたり(footer.php)にこのコードを設置しておけば、リンクカードのうちサムネイル画像が表示されていないものを検出して自動的にデフォルト画像を付与します。


<script>
const pzlck1 = document.querySelectorAll(".lkc-content");
for (let i = 0; i < pzlck1.length; i++) {
  let pzlck2 = pzlck1.item(i).children[0].className;
  if(pzlck2 != 'lkc-thumbnail'){
    pzlck3 = pzlck1.item(i);
    pzlck4 = document.createElement('figure');
    pzlck4.className = "lkc-thumbnail";
    pzlck4.innerHTML = "<img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"画像URL\" alt=\"\">";
    pzlck3.prepend(pzlck4);
  }
}
</script>

該当するのは投稿ページだけになると思いますので、他ページで負荷がかからないように投稿ページ判定で表示分けをするとよいでしょう。