*

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管理画面の投稿一覧で表示される投稿数を変更するには

WordPress の管理画面と言えば、WordPress でブログやサイトを運営しているなら必ず目にするものですが、投稿一覧に表示される記事の数を変更する必要がありました。普通にブログを書くだけなら、投稿一覧の記事数な […]

常時SSL
wpXが無料でWordPressの常時SSL機能を提供開始!簡単にhttps化できちゃいます

SSL という言葉は馴染みがないかもしれませんが、https という言葉なら見たことがあるでしょう。ウェブサイトの URL の始まりは「http://」か「https://」のどちらかです。普通のサイトなら前者の方が多い […]

YARPPの関連記事サムネイルのアスペクト比(縦横比)がおかしい時の修正方法

YARPP(Yet Another Related Posts Plugin)は有名なプラグインなので WordPress でブログやサイトを運営している人なら目にした事もあるでしょう。関連記事を表示してページ回遊を促す […]

AMP
WordPressを簡単にAMPに対応するテーマやテンプレートを紹介

ウェブサイトの SSL 対応と同様に、いずれ AMP にも対応せざるを得なくなるんじゃないかなぁと思っています。AMP とはスマートフォンなどのモバイル端末でのウェブ閲覧を爆速化するプロジェクトです。AMP に対応したウ […]

WordPressメディアライブラリ
WordPressでメディアライブラリの画像を検索しやすくする為にすべき事

WordPress でサイトやブログを運営していると記事数もさることながら、使用している画像もかなりの数にのぼると思います。WordPress のメディアライブラリには相当な枚数の画像が格納されているでしょう。 ある時、 […]

wordpress
今何記事目?WordPressで公開記事数を表示する

WordPress で公開記事数を調べたければ管理画面(ダッシュボード)に行けばすぐにわかっちゃうのですが、サイト上に表示したいという人もいるかもしれません。 ブログならそんなに記事数をわざわざ閲覧者にアピールする必要も […]

著者について

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

フォローはこちら

       

       
大滝鍾乳洞
トロッコに乗って鍾乳洞へ!東海地方最大級の岐阜県「大滝鍾乳洞」を探索

岐阜県郡上市にある東海地方最大級という鍾乳洞「大滝鍾乳洞」へ行

ラジオのAM/FMとはどういう意味か?

ラジオ放送には2種類ある事は多くの方がご存知かと思います。それ

美山鍾乳洞
大変珍しい立体迷路型鍾乳洞、岐阜県郡上市の「美山鍾乳洞」を探検

岐阜県郡上市にある美山鍾乳洞は日本最大級の立体迷路型鍾乳洞とい

スープカレー
こだわりのスープカレーが旨い岐阜県郡上市の老舗カフェ「アルピーヌ」でランチ

岐阜県の郡上八幡へ観光へ行った時に、郡上市でどこかランチができ

養老軒の大福
売切れ続出!独創的な絶品大福で有名な岐阜県川辺町の和菓子処「養老軒」

岐阜県加茂郡川辺町に存在する和菓子屋さん養老軒は独創的なフルー

→もっと見る