WP + PDF Embedder PDF表示されない

2月 16, 2021Web製作 & WordPress

概要

  • WordPress にPDF Embedder のプラグインをインストールしています。発生契機は明確ではありませんが、数ヵ月前からPDF が表示できない症状を経験していました。調査した結果を共有します。おそらく、WordPress Multisite環境が発生条件かもしれません。
  • 具体的な症状は、投稿に埋め込んだPDFが表示される時もありますが、下記のエラーとなり、PDFが表示されない時があります。
  • example1

Setting up fake worker failed: “Cannot load script at: https://wp-example.com/wp-content/plugins/pdf-embedder/js/pdfjs/pdf-4.6.1.min.js.pagespeed.ce.JWXIrGgm2e.worker.js".

    • 実際の表示は、下記の通りです。

 

  • example2

Setting up fake worker failed: “Cannot load script at: https://wp-example.com/wp-content/plugins/pdf-embedder/assets/js/pdfjs/pdf.min.js.pagespeed.ce.JWXIrGgm2e.worker.js".

    • 実際の表示は、下記の通りです。

 

対処方法

  • 調査したところブラウザを再読み込みすると必ず発生するため、当初はキャッシュが影響しているものと思いました。しかし、CDN 側で対象の投稿をキャッシュ無効にしても発生するため、キャッシュ以外に理由があることが分かりました。
  • 対処として、function.php に下記のエントリを追加後、症状が改善されました。jsのパスは環境によって変わりますので、プラグインのバージョンに合ったファイル名に変更が必要です。
  • exmple1
wp_enqueue_script( 'pdf-embedder-worker', plugins_url( 'pdf-embedder/js/pdfjs/pdf-4.6.1.worker.min.js'), array(), false, false );
  • example2
wp_enqueue_script( 'pdf-embedder-worker', plugins_url( 'pdf-embedder/assets/js/pdfjs/pdf.worker.min.js'), array(), false, false );

 

  • 私が使用しているテーマ Luxeritas の場合は、メニューのLuxeritas → 子テーマの編集 → functions.php タブを選択し、functions.php の編集が可能です。