WordPressあるあるネタとして、外観テーマを変更するとプラグイン設定が引き継がれず、デフォルト表示に戻ってしまう。
分かっていても、ついついハマってしまうので、またメモとして残しておくことに。
「Download Monitor」は、WordPressで作成されたホームページで簡単にダウンロードファイルを管理できるプラグイン。

ここのサイトでも、フリーソフトのzipファイルをダウンロードするリンク作成や、ダウンロード数表示で活用している。
デフォルト表示は、シンプルでリンクと単純に総ダウンロード数だけを表示する。

だけど、フリーソフトに不具合などあったとき、旧バージョンもダウンロードできるようにしておきたい。
なので、バージョン、公開日、サイズ、ファイル名、ダウンロードカウンタを表示させていた。

この表示に戻す方法をメモ。
- WordPressにログイン
- 「Download Monitor」プラグインが無い場合はインストール
- 「ダウンロード」>「設定」メニューを開く
- 「一般」タブ内の「デフォルトテンプレート」で「カスタムテンプレート」を選択
- 「カスタムテンプレート」で「custom」と記入
※customでなく別文字列でもOK - カスタム用のファイル(content-download-custom.php)を作成
※下記ソース参照
※ファイル名は「content-download-<カスタムテンプレート名>.php」 - 作成したファイルをFTP等でアップロード
アップロード先は、<サイトのルート>/wp-content/plugins/download-monitor/templates/
これでOK。
<?php
/**
* List of versions
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
} // Exit if accessed directly
/** @var DLM_Download $dlm_download */
$versions = $dlm_download->get_versions();
if ( $versions ) : ?>
<table width="100%" border="1">
<tr>
<th>バージョン</th>
<th>公開日</th>
<th>サイズ</th>
<th>ファイル</th>
<th>カウンタ</th>
</tr>
<?php
/** @var DLM_Download_Version $version */
foreach ( $versions as $version ) {
// set loop version as current version
$dlm_download->set_version( $version );
?>
<tr>
<td><?php echo $version->get_version_number(); ?></td>
<td><?php echo date_i18n( get_option( 'date_format' ), $dlm_download->get_version()->get_date()->getTimestamp() ); ?></td>
<td><?php echo $dlm_download->get_version()->get_filesize_formatted(); ?></td>
<td><a href="<?php $dlm_download->the_download_link(); ?>" rel="nofollow"><?php echo $dlm_download->get_version()->get_filename(); ?></a></td>
<td><?php echo $dlm_download->get_download_count(); ?></td>
</tr>
<?php
}
?>
</table>
<?php endif; ?>
<2024/7/20 追記>
「Download Monitor」プラグインをバージョンアップ更新したら、1件目だけダウンロード数が異常に増えて表示されるようになったので、最新版を利用する場合は以下のコードに修正してみてください。
プラグイン側で修正される可能性もあるため、上記ソースも一応残しておきます。
修正後ソース:
<?php
/**
* List of versions
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
} // Exit if accessed directly
/** @var DLM_Download $dlm_download */
$versions = $dlm_download->get_versions();
if ( $versions ) : ?>
<table width="100%" border="1">
<tr>
<th>バージョン</th>
<th>公開日</th>
<th>サイズ</th>
<th>ファイル</th>
<th>カウンタ</th>
</tr>
<?php foreach ( $versions as $version ) :
$dlm_download->set_version( $version ); ?>
<tr>
<td><?php echo $version->get_version_number(); ?></td>
<td><?php echo date_i18n( get_option( 'date_format' ), $version->get_date()->getTimestamp() ); ?></td>
<td><?php echo $version->get_filesize_formatted(); ?></td>
<td><a href="<?php $dlm_download->the_download_link(); ?>" rel="nofollow"><?php echo $version->get_filename(); ?></a></td>
<td align="right"><?php echo number_format($version->get_download_count()); ?></td>
</tr>
<?php endforeach; ?>
</table>
<?php endif; ?>
ダウンロード数を取得する処理を以下の通り変更していますが、ついでに他の行も微調整しています。
変更前:$dlm_download->get_download_count();
変更後:$version->get_download_count();





