*

WordPressのDownload Monitorでショートコードを使わずにダウンロード数をページに表示する

公開日: : WordPress

ダウンロードモニター

WordPress のプラグインに「Download Monitor(ダウンロードモニター)」というファイルのダウンロード数をカウントできるものがあります。登録したファイルがどれだけダウンロードされたのか、いつダウンロードされたのかという事がわかります。

Download Monitor がどのようなプラグインなのか詳細は他サイトにお任せするとして、ここではより踏み込んだことをお話します。

ページにダウンロード数を表示する方法

Download Monitor はダウンロード数をカウントするだけではなく、ページに表示する事も可能です。

Download Monitor の設定からデフォルトテンプレートを変更する事で、ダウンロードリンクをただのリンクにするのか、ボタンにするのか、ボックスにするのか、ダウンロード数を表示するかなど変更する事ができます。しかし、これは WordPress の投稿画面でショートコードを使った場合のみ有効な事です。

[download id="3998"]

ショートコードとは上記のようなものです。通常ショートコードは投稿画面でしか使えません。投稿画面以外の場所(テーマの個別投稿テンプレートなど)ではショートコードが使えないのでダウンロードリンクを作るには以下のような URL をリンク先に設定します。

http://www.url.com/download/3998/ (デフォルト設定の場合)

これで投稿画面以外にもダウンロードリンクを作る事ができますが、今回本題とする事は投稿画面以外でダウンロード数を取得しページに表示するという問題です。Google 検索で調べても有用な情報はなかったので自分で研究するしかないと思いました。

ダウンロード数はどこで管理されているのか?

ダウンロード数を取得するにあたっては、ダウンロード数はどこで管理されているのかを知る必要があります。恐らくデータベース内かと思って、phpMyAdmin でデータベース内を覗いて Download Monitor のテーブルを調べてみました。

なかった!!

ダウンロード ID やファイル名などの情報はデータベースに登録されていましたが、ダウンロード数はどこにもありませんでした。一体にどこにダウンロード数があるのか…。

次に投稿画面でショートコードではダウンロード数が表示できるので、ショートコードの中身を覗いてみました。WordPress の管理画面からプラグインを開き、プラグイン編集を選択します。画面右上の「編集するプラグインを選択」から Download Monitor を選び「content-download-button.php」にショートコードの中身があります。

どうやら get_the_download_count() という関数でダウンロード数を取得しているようです。しかしそのような関数は WordPress のものではなくプラグイン独自のものです。もうプラグインファイルを1から調べて get_the_download_count() という関数を見つけるしかありません。

WordPress のプラグイン編集で Download Monitor のプラグインファイルを上から順番に調べて get_the_download_count() 関数を探しました。すると「class-dlm-download.php」というファイルで見つける事ができました。

return absint( $this->get_file_version()->download_count );

download_count という変数にダウンロード数が入っていそうですが、これがどこでダウンロード数が入れられるのかわかりませんでした。半分諦めかけましたが今度は「download_count」という変数を虱潰しにまた1から探しました。すると「class-dlm-download-version.php」というファイルに increase_download_count() という関数を見つけました。訳すとダウンロード数を増加するという関数です。まさしく探していたのはこれです!

この関数の中には次のような記述がありました。

get_post_meta( $this->id, ‘_download_count‘, true )

get_post_meta?これでピンときました。get_post_meta 関数はカスタムフィールドの値を取得する関数です。まさか、カスタムフィールドにダウンロード数が管理されていたとは…。

しかし、投稿画面に「_download_count」というカスタムフィールドはありませんでした。

よく調べてみると、WordPress の管理画面でダウンロードの「すべてのダウンロード」を開き、登録ダウンロードファイルの編集をすると、ダウンロード可能なファイルの所にダウンロードカウント数が記録されている箇所がありました。恐らくここが「_download_count」というカスタムフィールドなのでしょう。

ショートコードを使わずダウンロード数を取得する方法

ここまでをまとめますと、Download Monitor でショートコードを使わずにダウンロード数を取得しページに表示するには以下のようにします。

get_post_meta( ダウンロードID, ‘_download_count‘, true )

ダウンロードID とは、DownloadMonitor で登録したダウンロードファイルに割り当てられている ID の事です。WordPress の管理画面でダウンロードの「すべてのダウンロード」で確認する事ができます。これで各ファイルのダウンロード数を取得する事ができるのです。ページに表示するには echo などで出力しましょう。

  • Pocket

おすすめトピックス

関連記事

WordPressのパーマリンクに%E2%80%8B%E2%80%8が混入する原因と正体

WordPress のパーマリンクに不可解な文字列「%E2%80%8B%E2%80%8」が混入するという現象が発生しました。 パーマリンクとは上図のやつですよ。ようするに投稿記事の URL です。WordPress 管理 […]

wordpress
【WordPress】テーマ「Stinger3」のスマホページでCSSが効かない

WordPress のテーマで Stinger3 というものがあります。これが結構人気テーマで、このブログでも使わせて頂いています。 「必要な物は、揃っている。」というキャッチコピーの通り、主要プラグインに類する機能、ス […]

wordpressサイト高速化
【WordPress】画像を最適化でサーバー容量削減!「EWWW image optimizer」が便利すぎ

遅いサイトと速いサイト、どっちが良いですか?と聞かれたら、それは多分速いサイトと答える人が圧倒的なのではないかと思います。ウェブサイトを見る人にとっても検索ロボット(クローラー)にとってもね。 サイトを表示するまでの早さ […]

無効なURLです。
エックスサーバーへ移転時にデータベースをインポートしたら「無効なURLです。」

高速で安定度の高いと評判のエックスサーバーへサイトの移転を行いました。その時に詰まった事を備忘録として記録しておきます。(移転先の動作確認には hosts ファイルを編集する方法で行っています。) 元々常時 SSL(ht […]

アイキャッチ画像を自動で投稿に表示
WordPressで中サイズ画像を取得しアイキャッチ画像を自動で投稿に表示する

WordPress でブログやサイトをやっている人なら、冒頭にアイキャッチ画像を入れる人も多いと思います。今このブログ記事でも上のような画像の事です。 通常 WordPress ではまず投稿のアイキャッチ画像の設定画面で […]

Stinger6
【STINGER6】トップページのtitleタグから-(ハイフン)を除去する

WordPress の人気テーマの STINGER シリーズから最新の STINGER6 が公開されました。公式サイトより無料でダウンロードできます。 全てはブログを書く為に。 – WordPress無料テー […]

著者について

名前:Azell
作曲したり風景写真撮ったりWeb制作したりする人です。 好きな事を楽しくブログに綴れていけたらと思います。

フォローはこちら

       

       
JA士幌町のスイートコーンとミルクの味わい「北海道のこだわりプリン」

士幌町の北海道のこだわりプリンをいただいて、とても美味しかった

Photoshopで写真の黄ばみや赤みを補正し抑える方法

デジカメで撮った写真が思ったより黄色かったという経験はありませ

簡単にPCのデスクトップキャプチャーができるソフト「FonePaw PC画面録画」のレビュー

パソコンの画面を録画するにはどうすればいいの? ウ

ホンダ純正Gathersドライブレコーダーでブザーが止まらない時の対処方法

近年煽り運転のニュースが世間を賑わせている中、ドライブレコーダ

Youtubeの動画でアンケートに回答するにはどうやるの?

いわゆる動画サイトには視聴者の方に意見を問うアンケート機能とい

→もっと見る