*

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 でカテゴリーの設定は基本中の基本です。カテゴリーが全くないのでは見づらいですし、どんな内容の記事があるのかもわかりません。カテゴリーを正しく適切に設定する事によって、見る人もあなたも見やすいですし、G […]

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

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

知識不要!簡単にWordPressに画像スライダーを付けられる「Easing Slider」の使い方

ウェブサイト上で一枚の画像が次々と切り替わっていくものを画像スライダーとかスライドショーと言います。企業サイトや個人サイトでも至るところで見かけるようになりました。 このスライドショーは色々なタイプの物が jQuery […]

全記事一覧
WordPressで全記事一覧と投稿日を一緒に出力する方法

WordPress を使う前は Movable Type や Serene Bach を使用しておりましたが、その時は対して苦労しなかった「全記事一覧と投稿日を一緒に出力する」事が WordPress では結構実現に手間 […]

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

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

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

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

著者について

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

フォローはこちら

       

       
シーリングファン
天井に取り付けられるプロペラ「シーリングファン」の意味とは?

天井が高いカフェやオフィスなどでたまに天井に取り付けられている

ASUSタブレットPC「T101HA」でPhotoshopは問題なく使える?

今まで外出先や旅行先で作業する為のモバイル端末として、Andr

イタリアンジェラート
小樽市のイタリアンジェラート専門店「パスコロ」豊富なメニューと滑らかな口溶けが魅力

北海道の小樽市にあるパスコロは、手作りアイスのイタリアンジェラ

札幌大通近くのハヤシライス専門店「フェルム・ソレイユ」2週間熟成した究極のハヤシライスを食すランチ

札幌市中央区役所の近くにあるハヤシライス専門店「フェルム・ソレ

中部国際空港(セントレア)の駐車場でバッテリー上がりを起こした時の対処法

先日中部国際空港の駐車場でバッテリー上がりを起こしてしまいまし

→もっと見る