WordPress Popular Postsのビュー表記をViewに書き換える方法2つ

こんにちは、katori@xxbicottです。
WordPress Popular Postsプラグインを使って人気記事ランキングを表示させるとき、ビュー数の表記を「◯件のビュー」ではなく「View」に書き換えたいというリクエストがありました。

調べたりいじったりした結果、2つ方法があったのでそれぞれご紹介したいと思います。
どちらも少し手間がかかるので、やりやすい方を使っていただければ幸いです!

※ 2020/4現在最新版のWordPress Popular Postsバージョン5.1.0の情報です。バージョンによって少し差異がありますがおおよそ同じ方法で対応できると思います。

ビュー数を表示するとき、カタカナになってしまう

ランキング表示でビュー数の表示設定をすると、デフォルトでは上の画像のように「x件のビュー」とカタカナで表示されるようになってます。
ここを英語表記にしたいんですが、思ったよりカスタマイズが難しい場所なんです。

方法は2つあって次の通り。

  • 翻訳ファイルを修正する方法
  • 出力コードのカスタマイズを行う方法

順番に紹介していきます。

(その1)翻訳ファイルを修正する方法

翻訳ファイルの用意

WordPress Popular Posts < GlotPress のページから、Japanese (ja)のzipをダウンロードします。
ダウンロードしたファイルの中身はこちら。

  • wordpress-popular-posts-ja.po
  • wordpress-popular-posts-ja.mo

この.poファイルの方を今回は使用します。
もしファイル名がwordpress-popular-posts-jaじゃなかったら、wordpress-popular-posts-jaに修正しておきましょう。

Poeditのダウンロード

Poeditは、.poファイルや.potファイルからmoファイルを作成する翻訳エディタソフトです。wordpressのテーマ・プラグインの翻訳によく使用されます。

Poeditk公式サイトからダウンロードしましょう。
開くとこんな感じ。

翻訳を編集」から.poファイルに選択、またはこのウィンドウに.poファイルをドラッグ&ドロップで編集画面が開きます。

poeditで翻訳ファイルを修正する

ここにはプラグインやテーマで翻訳対象に指定された文言が一覧で表示されます。
「x件のビュー」を修正したい場合は、上の画像の[%s view – %s件のビュー]行を選択して下の翻訳パネルのテキストを修正すればOK。

他の「ビュー」表記も検索して修正することで、プラグイン設定画面での表記も修正することができます。

編集が完了したら保存しましょう。保存すると、.mo拡張子のファイルが出力されます。

翻訳ファイル(.mo)をアップロード

FTPソフトを使って、先ほど出力された.moファイルをアップロードします。
バージョン5.1.0では下記のパスに日本語翻訳ファイルがあるので、ここに上書きしましょう。

wp-content > languages > plugins

これで変更できました!

ちなみに、このやり方だとプラグインアップデートする際に読み込まれなくなったり上書きされたりする可能性があります。
その場合は、

  • 翻訳ファイルのアップデートを停止する方法
  • 新規作成フォルダに翻訳ファイルをアップして、そこを参照するようにfunctions.phpに記載をする方法

の2つがあります。

詳細はこちらが参考になりました!

WordPress Popular Posts「ビュー」を「View」に変更する方法

(その2)出力コードをカスタマイズする方法

こちらはphpでがっつり出力内容を制御する方法です。
もし出力コードを変えたり、他にも調整したい箇所があるなどの場合はこちらがいいかもしれません。

※ ちなみに、この方法だとプラグイン設定画面の表記までは修正できません。

今回は、WordPress Popular Postsのショートコード[wpp]を利用して、出力コードを変更した独自のショートコード [wpp_custum]を作る方法をご紹介します。

コード例はこちら。

// functions.php
function wpp_custumFunc($atts) {
	extract(shortcode_atts(array(
		'range' => 'all',
		'order_by' => 'views',
		'post_type' => 'post',
		'stats_comments' => '0',
		'limit' => 5,
		'cat' => null,
		'stats_views' => '0',
		'wpp_start' => "<div class='wpp-rank-list'>",
		'wpp_end' => "</div>",
		'post_html' => ""
	),$atts));

	if($stats_views === '1'){
		$views = "<span class='date'>{views} VIEW</span>";
	}
	$post_html = "<div class='list_article'><a href='{url}'><figure class='thum'>{thumb_img}</figure><div class='meta inbox'><p class='ttl'>{text_title}</p>".$views."</div></a></div>";
	$shortcode = '[wpp range="'.$range.'" order_by="'.$views.'" thumbnail_width=360 thumbnail_height=230 limit='.$limit.' post_type="'.$post_type.'" cat='.$cat.' post_html="'.$post_html.'" wpp_start="'.$wpp_start.'" wpp_end="'.$wpp_end.'"]';

	return do_shortcode( $shortcode );
}
add_shortcode('wpp_custum','wpp_custumFunc');

なるべく[wpp]と同じパラメータを使えるようにしていて、次のショートコードで呼び出せます。

[wpp_custum range='' order_by='' post_type='' stats_views=1]

* ※ wppのパラメーター一覧は[設定 > WordPress Popular Posts > パラメーター]で確認可能

ポイントはこの2つ。

  • ビュー数表示の有無を設定するstats_viewsパラメーター
  • 出力コードを設定するpost_htmlパラメーター

stats_viewsが1だった場合、ビュー数付きのコードを(上のコードでは「VIEW」表記)。
stats_viewが0だった場合、ビュー数表示なしのコードを。
どちらかを$post_htmlに入れて[wpp]ショートコードを実行するよ!という処理になってます。

なので、下のようにエディタに入力すると…


エディタ画面

こんな感じで出力されました!

さいごに

WordPress Popular Postsは重ためですがカスタマイズ性はかなり高いですよね。

他にもWordPress Popular Posts関連の記事を書いてるのでご参考にどうぞ!