質問: "投稿「{$post->post_title}」に新しいコメントがありました。\r\n"; $notify_message .= "コメント者: {$comment->comment_author}\r\n"; $notify_message .= "会社名: {$comment->comment_company}\r\n"; $notify_message .= "コメント: {$comment_content}\r\n"; $notify_message .= "この投稿へのすべてのコメントはこちら:" .get_permalink($comment->comment_post_ID) . "\r\n"; $notify_message .= "\r\n"; break; } return $notify_message; } add_filter( 'comment_moderation_text', 'custom_comment_moderation_text', 10, 2 ); ``` ### 現状のメール文 (ここから) 投稿「投稿タイトル」に新しいコメントがありました。 コメント者: 〇〇〇 会社名: コメント: あああああ この投稿へのすべてのコメントはこちら: https://example.co.jp/aaaaa (ここまで) 「会社名: 」の部分が空欄になっていますが、ここに会社名入力欄で入力した内容が出力されるようにしたいです。 ### 質問のまとめ 初投稿なためどのように質問すべきかわかりませんが、要するに、 1上記メール文の「会社名: 」が空欄になっているが、ここに入力欄で入力した内容が出力されるようにしたい 2pluggable.phpに上記functions.phpと同じことを記述してメール文が表示されているがそれでいいのか 3そもそも何故「cbnet Multi Author Comment Notification」というプラグインを使うと上記functions.phpに入力した内容が反映されなくなるのか 4何か他にコメントした際に送られる通知メール文を変更、編集する良い方法があるか 以上の内容をご教示いただきたいです。 参考になるかわかりませんが、 WordPressのバージョンは4.9.12です。 仕事で使っているためバージョンの変更は原則できません。 長文になってしまいましたが、どうぞよろしくお願いいたします。
回答: 「cbnet Multi Author Comment Notification」のソースコードを読みましたが、特段"comment_moderation_text"のフィルターを上書きしていませんでしたので、別の理由でfunctions.phpの内容が反映されなくなったのではないでしょうか? 他に追加したプラグインや設定の変更がなかったか、再確認した方がいいと思います。 さらに、wp-includes/pluggable.php を書き換えた際に、"comment_moderation_text"に関する部分を間違って書き換えてしまったために、一層おかしな状況に陥っているのではないでしょうか? kei344さんが指摘したように、Wordpressのコアフィル群を直接書き換えるのはNGです。 最悪サイトが正常に動作せず再インストールする羽目になりますし、Wordpressのアップデートに追従させることができず、セキュリティ問題に対応できなくなります。業務でやっているならなおさら悪手です。 まずは、wp-includes/pluggable.phpやプラグインの状態を元に戻してから、kei344さんが1.で指摘したように、functions.phpに記述したコードの問題点を修正しましょう。 業務でWordpressをカスタマイズしていらっしゃるようなので、単なるコピペでなく正しくPHPのコードを理解して書くことをおすすめします。