0

現在ワードプレスでWebデザインをやっています。

クライアントが情報 (名前、電子メール、請求書番号、価格、GST など) を入力できる Web フォームを含むページを作成しました。

Contact Form 7 というプラグインを使用して Web フォームを提供しました。ユーザーがすべての情報を入力すると、プラグインは HTML 形式の請求書を私のメール アドレスにメールで送信します。フィールドには Web から値を取得するショートコードが含まれています。形。

たとえば、請求書テーブルの名前フィールドに [first-name] と入力すると、ユーザーが入力した名前が請求書に電子メールで送信されます。

他の 2 つのフィールドの値を合計する方法を見つける必要があります。請求書フォームのフィールドの 1 つは合計と呼ばれ、ユーザーが Web フォームに入力した [gst]+[price] に等しい必要があります。

引数を他のショートコードの値として受け取ることができる PHP ショートコード関数を探してみましたが、うまくいきませんでした。私は以前にphpを実際に使用したことがないので、phpの書き方がわかりません。

私はこれを見つけることができましたが、うまくいかないようです。メールが届いたときに [sumsc][gst] [price][/sumsc] しか表示されないためです。

    add_shortcode('sumsc','sumsc_func');
    function sumsc_func( $atts, $content = null ) {
        $sum=0;
        $content=str_replace(array("  ","] [","]["),array(" ","][","]|["),$content);
        $codes=explode("|",$content);
        foreach($codes as $code){
            $sum+=do_shortcode($code);
        }
        return " <div>".$sum."
    </div>";    
    }

ショートコード値を特定の数で乗算できるようにする機能も必要です。たとえば、請求書に表示される数量を得るには、価格を 0.6 で割る必要があります。ありがとう!

4

1 に答える 1

1

フォームに隠しフィールドを作成し、fields_sum などの一意の ID を指定します。

そのページで jquery を使用し、フォーム送信イベントをキャッチします。これらのフィールドの値を取得して合計し、その結果を fields_sum フィールドに設定します。そして、必要な場所でフィールドショートコードを使用します。jQueryスクリプトは(アルゴリズム)のようなものになります

$(document).ready(function(){
$("your_form_id").submit(function(e){

// get value of field one
// get value of field two
// sum them
// set sum to the hidden field

});
});

これが機能し、このような解決策を得るのに十分であることを願っています。

于 2013-06-03T14:22:19.090 に答える