サポート » プラグイン » Subscribe2のカスタマイズ

  • apple560

    (@apple560)


    ログインしていると登録フォームが表示されず、以下の文章が表示されます。
    You may manage your subscription options from your profile
    この解除法がいろいろ見てみたのですがログアウトする意外に解決策がありませんでした。
    ログインしていても登録フォームを表示したいのですが
    それが無理でしたら、上記の文章を非表示にして、「ログアウトしてください」と文章を入れたいのですが良い方法はありませんでしょうか。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • munyagu

    (@munyagu)

    このメッセージだけ日本語でログアウトするように促したいのであれば、日本語の翻訳ファイルを作成して
    wp-content/languages/plugins

    subscribe2-ja.mo
    というファイル名で入れてやれば、日本語でログアウトを促すメッセージを表示できます。

    それ以外の言語でも全てログアウトを促すメッセージを表示したい場合はプラグインを直接変更しないといけないように思います。
    ただ、その方法ではプラグインをアップデートする際に上書きされて元に戻ってしまいます。
    該当のメッセージを出力している箇所は
    wp-content/plugins/subscribe2/classes/class-s2-frontend.php
    にあるようです。
    念のため。

    トピック投稿者 apple560

    (@apple560)

    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で文字又は登録フォームを変更する事は出来ないでしょうか?

    • この返信は6年前にapple560が編集しました。
    munyagu

    (@munyagu)

    翻訳ファイルの作成はそれほど難しいことではありません。
    以下の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'));
    • この返信は6年前にmunyaguが編集しました。
    トピック投稿者 apple560

    (@apple560)

    munyagu様
    ありがとうございます!!
    上手く出来ました。
    どうなっているのか理解しようかと思いましたが、さっぱり??でコピペしてしまいました。

    Poeditも使ってみました。Macだから諦めていたのですがMac版もあったのですね。
    説明見ながらやってみたらこちらもなんとか出来そうです。
    リンク部分も一緒になっていたのでまとめて変更できました。
    翻訳変更がこんなに簡単にできるなんて、今後の役に立ちました。
    でも、今回はfunction.phpの方がなんとなく好きなのでそちらを使います。
    アップデートで上手く動かなくなったら、再度設定は仕方ないことですね。でもしばらくはこのままそっとしておきます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「Subscribe2のカスタマイズ」には新たに返信することはできません。