サポート » 使い方全般 » 「メールアドレスが公開されることはありません」の文言が変更できない

  • 解決済 alansmithee2015

    (@alansmithee2015)



    使っているテーマは「Twenty Fourteen」です。

    ブログのコメント入力ページでの
    「メールアドレスが公開されることはありません。」の変更を試みました。

    こちらのブログ
    http://denno-sekai.com/comment-column-edit/
    の下の方で解説されている
    「2.「メールアドレスが公開されることはありません」の文言を変更する」
    を参考にしました。

    「メールアドレスが公開されることはありません。」の言葉を

    「メールアドレスの入力は任意です。(公開もされません)」に

    変更したく、「ja.po」のファイルの該当箇所の
    「メールアドレスが公開されることはありません。」の一文を
    「メールアドレスの入力は任意です。(公開もされません)」に書き換えて、
    上書きで保存して、そのファイルを元にあったところにアップしました。

    しかし、言葉は変更できず、オリジナルのまま変更されませんでした。

    前述のブログの解説をよく見たら、解説の終わりの方に、
    「ja.po」の中の文言を書き換えた後の解説として、

    「保存するとja.moというファイルにコンパイルされるので、
    このファイルを同じく/wp-content/languages/にアップロード(上書き)します。」

    とありました。

    この「保存するとja.moというファイルにコンパイルされる」とはどういうことでしょうか。

    「ja.po」のみダウンロードして書き換えて上書き保存しましたが、
    これでは「コンパイル」されないのでしょうか。

    たしかに「ja.po」のファイルが置かれた同じディレクトリの中に、
    「ja.mo」があります。
    これもいったんダウンロードして、中身をいじらなければならないのでしょうか。

    また、ほかに別のやり方で文言を変更する方法はあるのでしょうか。
    できれば、危険なファイルのダウンロードでいじるのでははなくて
    管理画面からの変更がしたいです。

    なお、使っているテーマは「Twenty Fourteen」ですが、近くBis Vektorの「Lightning」に変更する予定です。
    テーマによってもやり方は変わってくるのでしょうか。

    ご回答をなにとぞよろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター Daisuke Takahashi

    (@extendwings)

    1. 「管理画面からの変更」について
    まず、管理画面はこういったことを行うための画面ではないので、デフォルトではメッセージを変更する方法はありません。

    2. そもそものやり方について
    テーマによってやり方は当然変わってきます。しかも、言語パックは translate.wordpress.org 上での更新に伴って自動的に更新されるので、直接的に弄る方法は通常、推奨できるものではありません。gettextフィルターを使ったプラグインを自作するなどして、対応する方がいいでしょう。

    3. Poeditでのmoファイルの作成について
    (以上の前提で、poファイルを編集し、moファイルを生成する方法について)設定状況にもよりますが、「Poedit」上で翻訳を修正して保存すれば、修正済みのpoファイルと同じディレクトリにmoファイルが出来上がります。もし、生成されていない場合にはCodexの説明を一読の上、Poeditのサポートに確認してみてください。

    こんにちは

    チャイルドテーマを作成してチャイルドテーマのfunctions.phpで、フィルターで文字列を変更するといいでしょう。

    add_filter('comment_form_defaults', 'change_comment_email_notes');
    
    function change_comment_email_notes( $defaults ) {
    
    	$defaults['comment_notes_before'] = '<p class="comment-notes"><span id="email-notes">メールアドレスは任意です</span></p>';
    
    	return $defaults;
    }

    翻訳ファイルを直接変更するのもよく行われますが、
    poファイルをテキストエディタで開いて変更しても何も起こりません。WordPressが必要とするファイルは、ja.moです。

    http://poedit.net/download

    を使ってpoファイルを編集し保存すると、moファイルも更新されます。

    https://codex.wordpress.org/Function_Reference/load_child_theme_textdomain

    チャイルドだと、load_child_theme_textdomain を使ってチャイルド用翻訳ファイルを持たせる方法はありますが、親テーマ翻訳を上書きできないので
    やるなら、gettextフィルタ類で、フィルタをかけるのがお勧めです。

    フィルタサンプル

    add_filter('gettext', 'my_fil');
    
    function my_fil( $translate ){
    	return str_replace('メールアドレスが公開されることはありません。', '秘密厳守', $translate);
    }

    Daisuke Takahashiさま、nobitaさま

    ご回答をいただきましてありがとうございます。
    返信が遅れましてすみませんでした。

    アドバイスのとおりPoeditでやってみましたところ
    moファイルが生成され、文言の変更ができました。

    私の現在のレベルでは、ご助言いただいたようなプラグインの自作や
    チャイルドテーマの作成してunctions.phpでフィルターで文字列を変更する
    というようなことはできそうにありません。
    直接いじるのは推奨されないとのことですが、それを踏まえた上で、
    今回の方法で文言を変更いたしました。

    アドバイスをいただき大変ありがとうございました。
    お礼を申し上げます。

    当初の目的が達せられましたので
    解決済みといたします。
    (前の返信で解決済みのチェックをし忘れました。)
    ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「「メールアドレスが公開されることはありません」の文言が変更できない」には新たに返信することはできません。