如何从unctions.php中的脚本发送表单值,而不是从我网站上的表单发送?

时间:2013-09-03 作者:Derfder

我在我的网站上有一个表单,根据用户是否检查贝宝或电汇,表单操作应始终转到功能。php,我在文件末尾有一个简单的检查:

if ( isset( $_POST[\'submitted\'] ) && isset( $_POST[\'post_nonce_field\'] ) && wp_verify_nonce( $_POST[\'post_nonce_field\'], \'post_nonce\' ) ) {

// CODE AFTER SUBMIT HERE 

}
所以,我的问题是如何在函数中使用if条件来做一些事情。在将表单发布到PayPal之前使用php?

因为所有教程都有窗体操作https://www.sandbox.paypal.com/cgi-bin/webscr

如何通过此地址发送公式中的所有帖子信息(我可以获取值并将其存储在变量中)https://www.sandbox.paypal.com/cgi-bin/webscr?

是否有可能这样做而不使用表单将值发送到那里?

Does WordPress have any function to send post request to a distant url?

3 个回复
SO网友:TomC

这不是wordpress的真正问题,可能会在Stack Overflow PayPal页面中得到更好的响应:https://stackoverflow.com/questions/tagged/paypal

然而,根据我对您问题的理解,您想知道如何将表单中的值传递给贝宝?

为此,您需要填充隐藏字段,并使用form post方法将这些字段“发送”到PayPal地址。

以下链接应该可以帮助您:https://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/howto_checkout-outside#methodtwo

如果这不是您想要的,请告诉我们您希望在函数文件中检查哪些条件,我们可能会进一步帮助您。

SO网友:The Maniac

首先,将代码从functions.php 文件到一个函数中,该函数钩住wp_init (尽管仍在functions.php中)。改为在该函数中检查nonce/表单提交。几乎是一样的(我认为是主题functions.php 文件已加载到wp_init) 但这绝对是一种更具文字压力的方式,而且在未来不太可能对整个网站进行核攻击。

之后,您将不得不使用curl或PayPal类来包装必要的curling。这是无法避免的,它超出了Wordpress的范围。如果您在这方面需要更多帮助,我会问另一个关于正常堆栈溢出的问题。

SO网友:Jeremy Ross

有几种方法可以做到这一点:

cURL Method

通过cURL提交表单至<form action"<?php echo get_template_url; ?>/form_processors.php" method="POST">在该文件中,您将清理输入并进行cURL调用,然后通过POST提交。您还可以在此处使用wp\\u remote\\u post(),如果存在问题,它在可能没有安装cURL的服务器上会更加健壮。

AJAX Method

这篇文章应该介绍您在贝宝方面的尝试,并且应该很容易修改电汇选项。http://code.tutsplus.com/tutorials/a-guide-to-the-wordpress-http-api-payments-with-paypal--wp-25137

结束

相关推荐

以编程方式添加Paypal按钮

我已经使用包含价格和其他属性的自定义字段设置了一个post类型产品。我现在正在阅读Paypal文档,到目前为止我读到的是“HTML按钮”可以从Paypal粘贴,但我不能告诉我的客户在每次创建新产品时都从Paypal复制并粘贴“添加到购物车”按钮。即使是标有“Paypal”的插件也似乎是手动的。我想从自定义字段中以编程方式获取price和其他属性<我不希望我的客户对贝宝做任何事情。So my question:我应该放弃我几乎完整的主题,用Woocommerce从头开始构建一切吗?还是有办法将贝宝整合