1

我正在使用 Wordpress 模板作为收集口头报价的系统,真正发表评论,这将使网站的访问者花费 1 美元。我已将帖子末尾的标准“发表评论”文本更改为“提交投标”。

我还安装了一个 PayPal 捐赠插件,该插件会在页面上显示“捐赠”按钮。

我想将这两个按钮的功能合并为一个按钮,即“提交投标”按钮。需要明确的是,提交投标按钮将用户的评论发布到发布页面;我需要一个按钮来执行此操作,同时将用户引导至 PayPal 以捐赠 1 美元。

理想情况下,我会进行检查以验证用户是否实际支付了 1 美元才能提交投标,但由于这更复杂,而且这是出于慈善目的,我相信我的用户实际支付。捐赠后,PayPal 会将他们重定向到他们提交口头投标(“评论”)的页面。

“提交投标”按钮的 php 看起来像(它来自典型 wordpress 博客的标准“comments.php”):

<input type="submit" value="Submit Bid" /><input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />

PayPal“捐赠”按钮实际上是作为功能放置在页面上的插件:

<?php echo Paypal_payment_accept(); ?>

功能代码很长,但在页面上放置实际“捐赠”按钮的代码是:

$output .= "<input type=\"image\" src=\"$payment_button\" name=\"submit\" alt=\"Make payments with payPal - it's fast, free and secure!\" />";

非常感谢有关如何解决这个看似微不足道的问题的想法!

4

2 回答 2

1

实际上,可能有一种更简单的方法,而不是使用表单使用 Paypal 提交。

保留重定向代码,但将 $location 变量编辑为将用户带到 paypal 的 URL,其中包含您要发送给他们的所有变量,例如: https ://www.paypal.com/cgi-bin/webscr ?cmd=_xclick&business=email%40paypalhacks%2Ecom&amount=1%2E00¤cy_code=USD&item_name=donation&item_number=1001&quantity=1&shipping=3%2E00&no_shipping=0

所以它会正常处理评论,然后将用户发送到paypal页面进行支付。您可以在浏览器中访问该 URL 以检查它是否有效。可能还添加一个“return”变量以将用户返回到原始 $location 值,因此用户将在成功支付到 paypal 后进入评论页面。

于 2012-05-04T17:25:19.577 回答
0

您基本上需要一个按钮来执行 2 个操作。因此,与其拥有两个表单(paypal 插件将添加自己的表单标签),不如在评论处理代码之前或之后添加 paypal 重定向功能?

因此,当用户在评论上按下提交按钮时,让页面正常处理提交,但在该文件中,在处理评论后,将用户重定向到贝宝。

您可以更改 wp-comments-post.php 文件中的代码,该文件位于您的 Wordpress 根文件夹中。

你不需要为此使用插件,它是一个非常简单的贝宝代码:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<!-- paypal user email which receives payments -->">
<input type="hidden" name="lc" value="CA">
<input type="hidden" name="item_name" value="<!-- donation -->">
<input type="hidden" name="item_number" value="1">
<input type="hidden" name="amount" value="<!-- donation amount -->">
<input type="hidden" name="currency_code" value="CAD">
<input type="hidden" name="return" value="<!-- the URL to redirect the user after payment -->">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
                <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"><br />
            </form>

此外,您可以审核所有评论,因此在获得审核人批准之前不会在网站上发布。您可以在仪表板 > 设置 > 讨论中管理这些设置。这样,您可以选择仅批准通过贝宝成功付款的用户的评论(通过比较他们的电子邮件 ID)。

于 2012-05-04T16:03:06.870 回答