php短代码函数添加其他和其他短代码值

时间:2013-06-03 12:44:51

标签: php wordpress sum shortcode

我正在使用wordpress进行一些网页设计。

我创建了一个带有Web表单的页面,客户端可以在其中输入一些信息(姓名,电子邮件,发票号,价格,gst等)。

我使用了一个名为联系表单7的插件来提供网络表单,当用户输入他们的所有信息时,插件会将html格式的发票通过电子邮件发送到我的电子邮件地址,其中字段占用的字段代表值来自网络表格。

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

我需要找到一种方法来对其他两个字段的值求和,我的发票表单上的一个字段称为total,它应该等于用户输入的[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,以给出发票上显示的数量。谢谢!

1 个答案:

答案 0 :(得分:1)

在表单中创建一个隐藏字段,例如使用唯一ID,将其命名为fields_sum。

在该页面上使用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

});
});

我希望这样做足以得到这样的解决方案。