WordPressプラグインを修正したかったのだが。。
WordPressのとあるプラグインで表示されている文言を書き換えたかったのだが、、
ちょっとややこしかったので備忘録として残しておきます。
.moファイルはコンパイルして出力する必要あり
WordPressのプラグイン「WP-Members」を使っているのだが、これで表示される文言を修正する必要があった。
が、少々ややこしかったので備忘録としてメモしておきます。
修正したい文言を調査していくと、例えば「hogehoge.po」なるファイルに記載されていることが判明した。
で、このhogehoge.poを編集してアップしてやるも、表示は変わらない。。
同じディレクトリ内に「hogehoge.mo」なる拡張子だけが異なるファイルを発見するも、このファイルはバイナリファイルのようで、普通のテキストエディタでは開けなかった。
→ ここで推測するに「hogehoge.poをコンパイルして、hogehoge.moを出力するのではなかろうか!?」
いろいろ調べてみると、どうやらビンゴ! 推測の通りみたいである。
.poファイルをコンパイルするツール「Poedit」があった!
(1) https://poedit.net/download から Poeditをダウンロード
→ 「Windows download」版をDL
(2) DLした「Poedit-3.3.2-setup.exe」をインストール
(3) 「Poedit」を起動
→ 「ファイルを閲覧」 → 「hogehoge.po」を選択 → ファイル「MOにコンパイル」
これで「hogehoge.mo」が作成される!
→ これを既存のhogehoge.moと差し替えてサーバーにアップしてやればOK!!
オマケ:「WP-Members」で表示文字列を非表示にする方法
上記Poeditは、表示文字列を変更する方法だが、
表示文字列自体を非表示にしたいケースがあったので、その方法を。
例)wp-content/languages/plugins/wp-members-ja.po の下記記述を非表示にする。(非表示にしたい文字列がこのファイルに記述されていることは grep等を駆使して探すべし!)
— wp-members-ja.po(1511) ——————–
#: includes/class-wp-members-dialogs.php:80 ←←←(*2)
msgid “Click here to register” ←←←(*1)
msgstr “新規ユーザー登録” ←←← コレを非表示にしたい
———————————————–
・非表示にしたい「新規ユーザー登録」が定義されている場所を探す。
・そのすぐ上の行に記載されている「msgid 」(今回は「Click here to register」)が、(*2)のファイルに定義されている。
・class-wp-members-dialogs.php から、当該定義をコメント化。
— class-wp-members-dialogs.php(80) ——————–
// ‘register_link’ => __( ‘Click here to register’, ‘wp-members’ ),
———————————————–
これで、当該文字列は表示されなくなった!!
ホームページ制作のこと、ホームページの運営でわからないことや困っていることがありましたら、「株式会社アットライズ」までお気軽にご相談ください。
株式会社アットライズのホームページはこちら