PHP短码函数添加其他和其他短码值


php shortcode function to add other sum other shortcode values

我正在用wordpress做一些网页设计。

我创建了一个网页表单,客户可以输入一些信息(姓名,电子邮件,发票号码,价格,商品及服务税等)。

我使用了一个名为contact form 7的插件来提供web表单,当用户输入他们所有的信息时,该插件然后通过电子邮件将html格式的发票发送到我的电子邮件地址,其中的字段由从web表单中获取值的短代码占用。

例如,在发票表的name字段中,我输入[first-name],用户输入的姓名将通过电子邮件发送给我。

我需要找到一种方法来将其他两个字段的值相加,发票表单上的一个字段称为total,它应该等于用户在web表单上输入的[gst]+[price]。

我试图寻找一个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才能得到发票上的数量。谢谢!

在表单say中创建一个具有唯一id的隐藏字段,例如fields_sum。

在该页面上使用jquery并捕获表单提交事件。获取这些字段的值,求和并将结果设置为fields_sum field。然后在需要的地方使用字段短代码。jQuery脚本应该是这样的(Algorithm)

$(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
});
});

我希望这能起作用,并足以得到这样的解决方案