質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

2回答

1676閲覧

WordPressの編集(プラグイン)

Masa02

総合スコア3

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2020/10/07 01:28

WordPressのプラグイン「Contact formDB」についての質問です。
Contact form7の情報を管理するプラグインですが、Contact form7でのクラス名が英語表記になってしまうため、管理画面でも英語表記になってしまいます。

添付画像のように「email」→「メールアドレス」のように日本語に変換したいです。
画像はデベロッパーツールにて変更したモノですので、どこかにHTMLもしくはPHPで作成されたデータがあるかと思いますが見当たりません。

・デベロッパーツールでファイルの保管場所が探せるのか?
・Contact form7にて日本語でクラス名を付けられるのか?
・その他方法があるのか?

わかる方がいらっしゃいましたらご教授いただけますと幸いです。イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dit.

2020/10/07 03:22

Contact formDBの管理画面を日本語化したいわけではなく、Contact form7で設定した各項目の名前を日本語化したいと言うことでしょうか?
Masa02

2020/10/07 03:30

dit.様 Contact form7で設定した各項目の名前を日本語化したい こちらで解釈は当たっております! しかし、Contact form7を日本語化することで 「email」→「メールアドレス」 「tel」→「電話番号」 などクラス名が日本語に変更できるのであれば問題ないです! ご存知でしたらご教示願います。
gogoweb_ikeda

2020/10/08 06:59

質問にあるプラグインは「Contact Form 7 Database Addon – CFDB7」のことでよろしいのでしょうか? 類似のプラグインが多数見つかりよくわかりませんでした
Masa02

2020/10/08 12:11

gogoweb_ikeda様 ご回答ありがとうございます。 プラグインに関しましては「Contact Form 7 Database Addon – CFDB7」 でお間違いありません。 メールアドレスなど日本語化する方法はご存知でしょうか。
guest

回答2

0

ベストアンサー

WPのプラグインは.moファイルで翻訳します

当該ファイルの日本語翻訳の進捗は0%のようです

poeditなどで自分で翻訳するしかないようです

当該プラグインのソースを見たところ
wp-content/languages/plugins/contact-form-cfdb7-ja.mo
の翻訳ファイルを作ることで日本語翻訳ができるはずです

php

1function cfdb7_load_textdomain() { 2 load_plugin_textdomain( 'contact-form-cfdb7', false, basename( dirname( __FILE__ ) ) . '/languages' ); 3} 4add_action( 'plugins_loaded', 'cfdb7_load_textdomain' ); 5

翻訳ファイルのテンプレートとなるpotファイルが
プラグイン本体には含まれていないようなので
翻訳対象文字列の抽出からやる必要がありそうです


追記

入力項目のカラム名についてはフィルタもかかってないので
割とどうしようもなさそうです

プラグインの更新で上書きされることを厭わず
無理矢理やるならinc/admin-subpage.phpの158行目あたり
get_columnsメソッドの値を返す直前に

php

1return $columns; 23$columns=array_map(function($title){ 4 return str_replace(['Email','Subject'],['メールアドレス','題名'],$title); 5},$columns); 6return $columns;

みたいな感じでやるかですかね

あるいはフロント側でjsでタイトル部分を
置き換えるとかしたほうがまだマシかもしれないです

投稿2020/10/07 03:17

編集2020/10/08 05:13
KazuhiroHatano

総合スコア7802

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Masa02

2020/10/07 03:35

KazuhiroHatano様 ご回答いただきありがとうございます。 翻訳ファイルを作成することで、 「email」→「メールアドレス」 「tel」→「電話番号」 などと変更することができると言うことで当たっておりますか? また、poeditや上記PHPの入力場所がわからず… お手数おかけしますが、やり方をご教授いただけないでしょうか。
KazuhiroHatano

2020/10/07 04:18

プラグインの.moファイルの翻訳対象はあくまでプラグインに含まれる文字列なので contactform7の設定についてはcfdb7のドメインでの翻訳対象ではないですかね・・・ 一応クラスは日本語になっても問題はありません 使えないのは半角スペースや_-以外の記号などで それ以外、U+0080以降の文字はclassの値としては全て使えます
Masa02

2020/10/07 08:17

KazuhiroHatano様 ご回答いただきありがとうございます。 では、今回の場合はcontactform7側で変更しなければならないのですね! プラグインの.moファイルの翻訳対象について承知致しました。 度々の質問で恐縮ですが下記のような表記になっております [text* company placeholder "株式会社"] これを [text* 会社名 placeholder "株式会社"] と言うように変更するとinputとして読み込まれません。 cfdb7側で値を受け取る際に、 「company」ではなく「会社名」と受け取りたいのですが、 どのように変更したら良いのでしょうか。
Masa02

2020/10/08 12:13

KazuhiroHatano様 追記いただきありがとうございます! Javascriptはまだ勉強中のため、いじると動作しなくなりそうですね。 今回は諦めます。 ご回答いただきまして本当にありがとうございます!
guest

0

基本的にコンタクトフォームのフィールド名をそのまま出力する形のプラグインがほとんどだと思いますので出力の名前を簡単に変えるのは難しいかと思われます。

変更方法としては二つのアプローチを考えました。
一つはKazuhiroHatanoさんの指摘のようにフロント側でjsでタイトル部分を書き換える方法です。
Contact Form 7 Database Addon – CFDB7を確認したところ一覧画面ではカラム名にIDやクラスが固有の値を割り振られていたのでそれをキーに書き換えられますが、詳細画面にはクラスが割り振られていませんでした。

もう一つはデータベースに保存する前にカラム名を書き換える方法です。
Contact Form 7 Database Addon – CFDB7では wpcf7_before_send_mail フックを使い、コンタクトフォームがメールを送信する前にデータを取得してデータを書き込んでいます。
その際、受け取ったデータをcfdb7_before_save_dataフィルターを通して取得していますので
ここでキーの名前を書き換えれば多分うまくいくんじゃないかなと思います。(まだ試してません)

投稿2020/10/08 08:13

gogoweb_ikeda

総合スコア1426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Masa02

2020/10/08 12:14

gogoweb_ikeda様 ご回答いただきありがとうございます! 他に実施方法が無いか調べてみます。 本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問