Contact Form 7 と Trust Form は全く別のプラグインですので、CF7のカスタマイズ方法はTrust Formでは使えませんよ。
もしやいけるのではと思いましたが、
そうですか、、、
どうもありがとうございます。
似たようなことをやったので、ソースはきれいじゃないかも。
前提条件
「extension_form」というスラッグの固定ページにフォームを設置しています。
フォームに遷移元のページのIDを渡しています(この辺はおこのみで)。
遷移元(フォームに行く前)のページのテンプレートファイルに書いておく
<form class="toform" action="'<?php echo get_permalink(get_page_by_path('extension_form')->ID); ?>'" method="post">
<input type="hidden" name="eventID" value="<?php the_ID();?>">
<input type="submit" name="submit" class="submit" value="申込はこちら">
</form>
フォームのカスタマイズ
http://trust-form.org/customize-html/
フォームのテンプレートファイル優先順位は上記に書いてあります。
プラグインのフォルダ内にある「trust-form-tpl-.php」をお使いのテーマフォルダの中にコピーして加工してください。
フォーム設置のページには遷移元のページから $_POST[‘eventID’] が渡っているので、
trust-form-tpl-.php 内で適宜加工してください。
あ、これだけじゃ足りない。
フォームのテンプレートファイルに直接追加したフォーム要素もデータベースに保存したり、メール送信したい場合には別途フィルターにフックするカスタマイズが必要です。
ユーザーへの返信メールの本文の場合は tr_pre_auto_reply_mail_body フックが使えます。
function my_tr_pre_auto_reply_mail_body ($body) {
// $bodyがメール本文
return $body;
}
add_filter("tr_pre_auto_reply_mail_body", "my_tr_pre_auto_reply_mail_body");
管理者へのメールは tr_pre_admin_mail フックが使えます。
自分がやったのはここまでなので、DBにも保存する方法は分かりません。
(ソース読めば分かるのでしょうけど・・・。)
gatespace様
ご記載頂き、どうもありがとうございます!
ご提示頂いた方法で、解決致しました。
>trust-form-tpl-.php 内で適宜加工してください。
こちら適宜加工する部分で引っかかってしまい、、、
遷移先がかなり強引なのですが、
テキストボックスの位置を自由に変更出来るのと、
返信メール部分のカスタマイズをしなくても大丈夫だったので、
下記方法で実装しました。
●管理画面
該当テキストボックスに class=”goods”を指定
●遷移元
<form class="toform" action="<?php echo get_permalink(get_page_by_path('extension_form')->ID); ?>" method="post">
<input type="hidden" name="eventID" value="<?php the_ID();?>">
<input type="submit" name="submit" class="submit" value="お問い合わせ">
</form>
●遷移先
trust-form-tpl-.php
下記追記
<?php
$events = $_POST['eventID'];
$my_page = get_page($events);
$goods = $my_page->post_title;
echo "<p style=\"display:none;\" id=\"goods\">". esc_html($goods)."</p>";
?>
<script type="text/javascript">
$(function(){
if($("input.goods").val()==""){
var goodsText = $("#goods").text();
$("input.goods").val(goodsText);
}
});
</script>
もっといいやり方があるかと思いますが、、、
一応載せておきます
どうもありがとうございました。
はじめから遷移元のページタイトルを使いたいのであれば
<input type="hidden" name="goods" value="<?php the_title();?>">
として
trust-form-tpl-.php では
<?php
$goods = $_POST['goods'];
echo "<p style=\"display:none;\" id=\"goods\">". esc_html($goods)."</p>";
?>
で良いと思います。
(例で投稿IDにしていたのは元々カスタムフィールドの値を使いたかったためです。)
trust-form-tpl-.php 内で遷移元の値を取得できていれば、あとはPHPだろうがjQueryだろうがどうとでもなると思います。
gatespace様
シンプル版の記載まで頂いてしまいすみません。。。
今回はページタイトルを使用するパターンでしたので、
シンプルな方で実装致しました。
>(例で投稿IDにしていたのは元々カスタムフィールドの値を使いたかったためです。)
たしかに、、、投稿IDで渡すと汎用性がぐっと高くなりますね。
今後に活かしたいです!
ありがとうございました!
gatespaceさん、ご伝授ありがとうございます。
解決済みの件で申し訳ございませんが、上記内容関連のtrust-formを利用した見本があれば教えていただけますか? どうもうまく行かない初心者です…(T.T)
※このスレッドは解決済みですので、似たような話題でも新規でスレッドを作成ください。
(その際、このスレッドへのリンクを張るとベター)
サンプルはないです。
初心者と言うことですが、上記の回答内容はPHPやワートプレスの関数の他、Trust Formのカスタマイズも必要とします。
難しければやらない方がいいです。
あと別のスレッドもご参照ください
http://ja.forums.wordpress.org/topic/38247?replies=2
gatespaceさん、お返事ありがとうございます!
唐突で申し訳ございませんでした。こちらのスレッドを作成しましたので、ご指導よろしくお願いいたします。
おっしゃる通り、初心者という理由で甘えてはいけません。基礎をしっかりとたたきこもうとがんばります!