Web制作を行う全ての方へ

WordPressでダッシュボードにpdfを表示させるプラグイン「RD Dashboard pdf」を作りました

案件でユーザーマニュアルを作ってダッシュボードに表示するっていうことをしていたのですが、これからも使いそうなのでプラグインにして公式ディレクトリに掲載しました。

プラグインを作った動機

マニュアルの表示はpdfだったり動画だったりすると思うのですが、僕の場合は

  • Markdownで記述
  • pdfにエクスポート
  • テーマディレクトリに保存してダッシュボードに表示

というフローで行っています。

テーマディレクトリに保存だと、テーマが変わった場合ファイルの移し替えが発生することと、どうせなら管理画面でファイルをアップロードできたほうが便利という観点からプラグインにしようと思ったのですが、どうせそこまでやるなら公式ディレクトリに掲載までやってしまおうと思ってプラグイン作成に至ったのが経緯です。

プラグインについて

プラグインは公式ディレクトリからダウンロードできます。

WordPressプラグイン:RD Dashboard pdf

ソースファイルはGithubにあげています。

Github:RD Dashboard pdf

バグやご要望などありましたら上記issueなどへお願いします。

使い方

  • プラグインをダウンロードしたら、WordPressのpluginディレクトリに配置し、プラグインを有効化してください
  • 管理画面の設定>rd-dashboard-pdfより、ダッシュボードに表示させたいpdfファイルをアップロードしてください。この時pdf以外のファイルをアップロードするとエラーメッセージが出力されます。
  • アップロードができたらダッシュボードでpdfを閲覧することが出来るようになります。領域が狭いので、ブラウザで開くようにリンクを張っていますので、そちらを利用することで読みやすくなります。

ファイルについて

アップロードは一つしかできません。改めてアップロードすることで以前アップロードしているファイルはメディアから削除され、新しいファイルがメディアに追加され、そちらが表示されるようになります。

現在アップロードしているファイルの名前は、アップロードするボタンの右側もしくは下側に表示されます。

メディアからファイルが見れなくなっても、WordPressのUploadディレクトリにはファイルが残っているので、間違えて上書きした場合でも、そちらからファイルを一旦保存し、再度アップロードすることで再利用ができます。

管理画面の設定に関するソースについて

 

add_settings_section
セクションの登録:設定画面のセクションを作成しています。

add_settings_field
フィールドの登録:管理画面に表示するフィールドの設定。

register_setting
name登録と値の保存に関する設定

rddp_setting_page()
設定したセクション、フィールドを呼び出します、設定ページに表示します。

rddp_file_display()
アップロードしたファイル名を出力します。

上記が、設定画面の設定と、それらの呼び出しに関する処理になります。

ファイルのアップロード処理

処理については wp_handle_upload を使っています。

この関数は、

  • ファイルのアップロード処理
  • ファイル名のサニタイズ
  • MIMEタイプの拡張子チェック
  • アップロードされたファイルをUploadディレクトリ内の適切な場所への移動

を行ってくれます。

処理が成功すると、配列でデータが帰ってきます。

  • $urls[“file’] アップロードされたファイルへのローカルパス
  • $urls[“url”] アップロードされたファイルのパブリックURL
  • $urls[“type”] MIMEタイプ

管理画面でファイルをとりあえずアップロードさせるだけなら、ここまでの処理で色々出来そうな感じがします。

ひとまずプラグイン公開できたので、また何か作ろうと思います。

2017年9月18日追記
pdf title の項目を追加しました。この項目に入力された値はダッシュボードで表示されるウィジェットのタイトルに表示されます。
何も入力がない場合は pdf と表示されます。

Ad



Comments

コメントを残す

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