アップロードしたPDFのサムネイルを自動的に生成してくれるWordPressプラグイン「PDF Image Generator」

アップロードしたPDFのサムネイルを自動的に生成してくれるWordPressプラグイン「PDF Image Generator」

アップロードしたPDFのサムネイルを自動的に生成してくれるWordPressプラグイン「PDF Image Generator」

PDF Image Generatorは、アップロードしたPDFのサムネイルを自動生成してくれるWordPressプラグインです。PDFの1ページ目が画像化して登録されます。

PDF Image Generatorのインストール

インストール手順は以下の通りです。

  1. PDF Image Generatorをダウンロードします。
  2. ダウンロードしたファイルを展開し wp-content/plugins にアップロードします。
  3. 管理画面の[プラグイン]ページで、PDF Image Generatorを有効化します。

PDF Image Generatorの設定

[設定] – [PDF画像ジェネレータ]から、プラグインの設定が行なえます。

PDF Image Generatorの設定

既存のMIMEタイプアイコンの代わりに作成された画像を表示する メディアライブラリで表示されるアイコンを生成したサムネイルに置き換え
PDFのサムネイルをアイキャッチ画像として使用可能にする 生成されたサムネイルをアイキャッチとして利用可能にする
作成したサムネイル画像のファイルそれ自体はライブラリ内で非表示にする 生成されたサムネイルをメディアライブラリで非表示
作成画像の各種設定カスタマイズ 生成されるサムネイルのサイズなどを指定
作成したサムネイル画像をプラグインのアンインストール後も保持する プラグインアンインストール後も生成されたサムネイルを保持

PDF Image Generatorの使い方

PDF Image Generatorの使い方は至って簡単で、通常通り[メディアを追加]からPDFをアップロードし、リンク先やメディアのサイズなどを指定して[投稿に挿入]するだけです。

PDFの投稿への挿入

生成されたサムネイルをテーマ内で呼び出す方法

PDFとサムネイルの出力

カスタムフィールドでセットしたPDFとサムネイルをテーマ内で呼び出したい場合は、以下のように記述します。


<?php
$pdf_id = ‘your pdf post ID’;//サムネイルを表示したいPDFのID
$thumbnail_id = get_post_thumbnail_id( $pdf_id );
if ( $thumbnail_id ) {
  $attach_title = get_the_title( $pdf_id );
  $attach_image = wp_get_attachment_image ( $thumbnail_id, 'medium' );
  echo '<a class="pdf-link image-link" href="'.wp_get_attachment_url( $pdf_id ).'" title="'.esc_html( $attach_title ).'" target="_blank">'. $attach_image .'</a>'."n";
}
?>

もしくは、


<?php
$pdf_id = 'your pdf file ID';
$attach_image = wp_get_attachment_image ( $pdf_id, 'medium' );
if ( $attach_image ) {
  echo '<a class="pdf-link image-link" href="'.wp_get_attachment_url( $pdf_id ).'" title="'.esc_html( $attach_title ).'" target="_blank">'. $attach_image .'</a>'."n";
}
?>

アイキャッチ画像に設定したサムネイルからPDFの情報を出力

アイキャッチ画像に設定したサムネイルから、PDFの情報を出力したい場合は以下のように記述します。


<?php
$thumb_id = get_post_thumbnail_id ( $post->ID );
$pdf_id = get_post( $thumb_id )->post_parent;
if ( $pdf_id && get_post_mime_type ( $pdf_id ) === 'application/pdf' ){
  $pdf = get_post($pdf_id);
  echo '<a class="link-to-pdf" href="'.wp_get_attachment_url($pdf_id).'" title="'.esc_html($pdf->post_title).'" target="_blank">'.get_the_post_thumbnail().'</a>'."n";
}
?>

アイキャッチ画像を自動登録

記事にアップロードしたPDFの情報をもとに、アイキャッチ画像に生成されたサムネイルを自動登録したい場合は、functions.phpに以下コードを追加します。


function save_pdf_thumb_as_featuredimage ( $post_id ) {
  if ( wp_is_post_revision( $post_id ) ) return;
  if ( get_post_type( $post_id ) !== 'post' ) return; // 投稿タイプの指定
  if ( get_post_meta( $post_id, '_thumbnail_id', true ) ) return; // すでにアイキャッチがある場合
  $attaches = get_posts ( 'post_parent='.$post_id.'&numberposts=-1&post_type=attachment&post_mime_type=application/pdf&orderby=menu_order&order=ASC' );
  if ( $attaches ): foreach( $attaches as $attach ):
  if ( $thumb_id = get_post_meta( $attach->ID, '_thumbnail_id', true ) ){ // PDFにサムネイルが存在する場合
    update_post_meta( $post_id, '_thumbnail_id', $thumb_id );
    break;
  }
  endforeach; endif;
}
add_action( 'save_post', 'save_pdf_thumb_as_featuredimage' );

「if ( get_post_type( $post_id ) !== ‘post’ )」の部分で、投稿タイプを指定します。

記事保存時にアイキャッチ画像が設定されていなければ、サムネイルが自動登録されます。すでにアイキャッチ画像が設定されている場合は、設定されているアイキャッチが優先されます。

詳しくは、プラグインのダウンロードページ、あるいはプラグイン作者のサイトで紹介されていますので、ご参照ください。

あとがき

PDFの内容から別途サムネイル画像を作成する必要がないので、手間が省けますね。PDFのサムネイルをサイトに設置した場合は、ぜひご活用ください。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です