このメッセージだけ日本語でログアウトするように促したいのであれば、日本語の翻訳ファイルを作成して
wp-content/languages/plugins
に
subscribe2-ja.mo
というファイル名で入れてやれば、日本語でログアウトを促すメッセージを表示できます。
それ以外の言語でも全てログアウトを促すメッセージを表示したい場合はプラグインを直接変更しないといけないように思います。
ただ、その方法ではプラグインをアップデートする際に上書きされて元に戻ってしまいます。
該当のメッセージを出力している箇所は
wp-content/plugins/subscribe2/classes/class-s2-frontend.php
にあるようです。
念のため。
munyagu様 早々にありがとうございます。
subscribe2-ja.moの変更ですが、未熟なもので変更する事が出来ません。
また、最後に出てくるProfileもリンクごと削除したいのです。
お教え頂いたもう一つの方法
wp-content/plugins/subscribe2/classes/class-s2-frontend.php
こちらの以下の部分を日本語で変更しました
sprintf(__('You may manage your subscription options from your <a href="%1$s">profile</a>', 'subscribe2'),
sprintf(__('メルマガ登録する前に「ログアウト」してください', 'subscribe2'),
ただ、こちらですとアップデートしたときに上書きされてしまうのでベストではありません。
function.phpで文字又は登録フォームを変更する事は出来ないでしょうか?
翻訳ファイルの作成はそれほど難しいことではありません。
以下のURLを参考にすれば簡単にできると思います。
Poeditの使い方 [WordPressのテーマやプラグインを日本語化(多言語)する方法]
テーマのfunctions.phpに記述して文字列を置き換えることはできます。
若干アクロバティックですが、以下のコードを追加したらできるでしょう。
ただこれも、プラグインがアップデートされて英語で出力されるメッセージが変更されると動きません。
(それは翻訳ファイルも同じですが)
クラス構成やクラス名が変更されても動かなくなります。
require_once get_template_directory().'/../../plugins/subscribe2/classes/class-s2-frontend.php';
class s2_custom extends s2_frontend {
private static $pattern = '/You may manage your subscription options from your.*profile/';
private static $dst_msg = 'メルマガ登録する前に「ログアウト」してください';
function custom_short_code($atts){
$original_output = $this->shortcode($atts);
return preg_replace(self::$pattern, self::$dst_msg, $original_output);
}
}
$s2 = new s2_custom();
$s2->s2init();
add_shortcode('subscribe2', array($s2, 'custom_short_code'));
munyagu様
ありがとうございます!!
上手く出来ました。
どうなっているのか理解しようかと思いましたが、さっぱり??でコピペしてしまいました。
Poeditも使ってみました。Macだから諦めていたのですがMac版もあったのですね。
説明見ながらやってみたらこちらもなんとか出来そうです。
リンク部分も一緒になっていたのでまとめて変更できました。
翻訳変更がこんなに簡単にできるなんて、今後の役に立ちました。
でも、今回はfunction.phpの方がなんとなく好きなのでそちらを使います。
アップデートで上手く動かなくなったら、再度設定は仕方ないことですね。でもしばらくはこのままそっとしておきます。