検証はしておらずプラグインのコードを読んだだけですが…
プラグイン Trust Form にフィルター tr_entry_manage_posts_custom_column が用意されており、お問い合わせ内容画面(リスト表示)の内容がフィルターに通されるので、置換する関数をフックすれば内容を置換できると思います。
フィルターは trust-form.php の1083行目にあります。
$this->entries_data = apply_filters( 'tr_entry_manage_posts_custom_column', $this->entries_data, $this->id );
entries_data を var_dump で見ると例えば次のような内容が入っていました。
array(1) {
[0]=>
array(5) {
["ID"]=>
int(0)
["entry_0"]=>
string(3) "あいうえお" // 1項目めの内容
["entry_1"]=>
string(13) "foobar@exmaple.jp" // 2項目めの内容
["entry_2"]=>
string(3) "わーどぷれす" // 3項目めの内容
["date"]=>
string(19) "2016/04/21 09:44:46"
}
}
しかしお問い合わせ内容の個別ページにはフィルターが用意されていないので、置換するにはプラグイン本体のコードを修正する必要があると思います。admin/entry.php の下記の部分です。
$responce = get_post_meta( $form, 'answer' ); // お問い合わせ内容を取得
// 中略
foreach ( $responce[$entry]['title'] as $key => $e ){
// $e が項目の見出し
// $responce[$entry]['data'][$key] が項目の内容
?>
<tr><th scope="row"><?php echo esc_html($e); ?></th><td><?php echo str_replace( "\n", '<br />', esc_html($responce[$entry]['data'][$key])); ?></td></tr>
<?php
}
gblsm様!
詳細な回答ありがとうございます!
感謝感激雨あられですm(_ _)m
教えて頂いた以下の部分をゴニョゴニョすれば行けそうな感じがしました!
あとで検証してみたいと思います!
<tr><th scope=”row”><?php echo esc_html($e); ?></th><td><?php echo str_replace( “\n”, ‘
‘, esc_html($responce[$entry][‘data’][$key])); ?></td></tr>
ただ一つ質問があります。
上記の部分ですと閲覧というリンクをクリックした個別の問い合わせ内容が表示されるページで変更されるようです。
できれば、一覧ページで置換して表示したいと思っているのですがこれは難しそうでしょうか?
お時間がある時にでも答えて頂けると幸いです。
一覧ページでの置換はフィルター tr_entry_manage_posts_custom_column で行えると思います。データベース内容を書き換えるわけではなく表示だけを変えることになります。
個別の問い合わせ内容のページには、このフィルターは効きません。そのため個別ページのコード抜粋を示したわけです。
gblsm様
すみません。
よく読んでおりませんでしたm(_ _)m
助かりました!
ありがとうございます。