2012-05-04 76 views
1

我使用Wordpress模板作爲一個系統來收集口頭報價,真的發表評論,這將花費訪問者到該網站$ 1作出。我已將帖子末尾的標準「發表評論」文字更改爲「提交出價」。鏈接貝寶「捐贈」按鈕Wordpress「發表評論」按鈕

我還安裝了一個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; ?>" /> 

貝寶‘捐贈’按鈕,實際上是放在一個插件該頁面的函數:

<?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!\" />"; 

非常感謝關於如何解決這個看似微不足道的問題的想法!

回答

1

其實,可能有一種更簡單的方法,而不是使用PayPal提交使用表單。

保持重定向代碼,但編輯$位置變量是將用戶帶到貝寶,所有要發送給他們的變量的URL, 如: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=email%40paypalhacks%2Ecom&amount=1%2E00&currency_code=USD&item_name=donation&item_number=1001&quantity=1&shipping=3%2E00&no_shipping=0

所以它會處理正常評論,然後將用戶發送到PayPal頁面進行付款。您可以在瀏覽器中轉到該網址以檢查它是否有效。可能還會添加一個'返回'變量以將用戶發回原始$位置值,以便用戶在成功付款至貝寶後即可訪問評論頁面。

+0

認爲這應該做的。謝謝! – keypulsations

0

你基本上想要一個按鈕,執行2個動作。因此,爲了不使用兩種形式(paypal插件會添加自己的表單標籤),爲什麼不在註釋處理代碼之前或之後添加paypal重定向功能?

因此,當用戶按下評論上的提交按鈕時,讓頁面正常處理提交,但是在該文件中,在處理評論之後,將用戶重定向到paypal。

您可以更改wp-comments-post.php文件中的代碼,該文件位於您的根Wordpress文件夾中。

你不需要使用這個插件,它的一個非常簡單的PayPal代碼:

<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> 

此外,您可以適度的所有意見,所以直到批准由一個主持人,他們沒有在網站上公佈。您可以在信息中心>設置>討論中管理這些設置。這樣,您可以選擇僅批准通過PayPal(通過比較其電子郵件ID)成功進行付款的用戶的評論。

+0

感謝您的好建議。我無法準確找到wp-comments-post.php文件中放置PayPal代碼的位置。我相信它應該與以下內容交互:​​$ comment_post_ID = isset($ _ POST ['comment_post_ID'])? (int)$ _POST ['comment_post_ID']:0; – keypulsations

+0

另一件事:我想我應該刪除wp-comments-post.php文件底部的重定向代碼? $ location = empty($ _ POST ['redirect_to'])? get_comment_link($ comment_id):$ _POST ['redirect_to']。 '#comment-'。 $ COMMENT_ID; $ location = apply_filters('comment_post_redirect',$ location,$ comment); wp_safe_redirect($ location); – keypulsations

+0

看到回答下面發佈 – anuragbh