我一直在对 wordpress 电子商务插件进行一些更改,并且我已经取出了大量功能以使其更简单地满足我的需求。现在它不会在按下购买按钮后重定向到感谢页面,因为该函数使用了一些我去掉的变量 order_id
,等等。
我已经为此工作了几个小时,我想做的就是单击购买按钮重定向到thankyou.php。(我现在知道它使用 ajax,我也不介意使用它)我不需要它来处理 processpayment 功能或类似的东西。真的很简单。
这是我正在使用的代码和函数:
非常感谢!!!
输入元素:
<div id="payment">
<div class="form-row">
<noscript><?php _e('Since your browser does not support JavaScript, or it is disabled, please ensure you click the <em>Update Totals</em> button before placing your order. You may be charged more than the amount stated above if you fail to do so.', 'jigoshop'); ?><br/><input type="submit" class="button-alt" name="update_totals" value="<?php _e('Update totals', 'jigoshop'); ?>" /></noscript>
<?php jigoshop::nonce_field('process_checkout')?>
<input type="submit" class="button-alt" name="place_order" id="place_order" value="<?php _e('Next Step', 'jigoshop'); ?>" />
<?php do_action( 'jigoshop_review_order_before_submit' ); ?>
<?php if (get_option('jigoshop_terms_page_id')>0) : ?>
<p class="form-row terms">
<label for="terms" class="checkbox"><?php _e('I accept the', 'jigoshop'); ?> <a href="<?php echo get_permalink(get_option('jigoshop_terms_page_id')); ?>" target="_blank"><?php _e('terms & conditions', 'jigoshop'); ?></a></label>
<input type="checkbox" class="input-checkbox" name="terms" <?php if (isset($_POST['terms'])) echo 'checked="checked"'; ?> id="terms" />
</p>
<?php endif; ?>
<?php do_action( 'jigoshop_review_order_after_submit' ); ?>
</div>
</div>
checkout.class.php:
// Process Payment
$result = $available_gateways["cheque"]->process_payment( $order_id );
// Redirect to success/confirmation/payment page
if (is_ajax()) :
ob_clean();
echo json_encode($result);
exit;
else :
wp_safe_redirect( $result['redirect'] );
exit;
endif;
else :
// No payment was required for order
$order->payment_complete();
// Empty the Cart
jigoshop_cart::empty_cart();
// Redirect to success/confirmation/payment page
$checkout_redirect = apply_filters( 'jigoshop_get_checkout_redirect_page_id', get_option( 'jigoshop_thanks_page_id' ) );
if (is_ajax()) :
ob_clean();
echo json_encode( array( 'redirect' => get_permalink( $checkout_redirect ) ) );
exit;
else :
wp_safe_redirect( get_permalink( $checkout_redirect ) );
exit;
endif;
endif;
// Break out of loop
break;
流程支付功能:
function process_payment() {
// Remove cart
jigoshop_cart::empty_cart();
// Return thankyou redirect
$checkout_redirect = apply_filters( 'jigoshop_get_checkout_redirect_page_id', get_option( 'jigoshop_thanks_page_id' ) );
return array(
'result' => 'success',
'redirect' => add_query_arg('key', $order->order_key, add_query_arg('order', $order_id, get_permalink( $checkout_redirect )))
);
}
这是我从萤火虫得到的错误详细信息:
打开调试后,出现以下错误:
注意:未定义索引:第 710 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php 中的 aiosp_enabled
注意:未定义索引:第 710 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php 中的 aiosp_enabled
注意:使用未定义的常量 PLUGIN_URL - 在第 81 行的 /home2/findmyki/public_html/bolistylus/wp-content/plugins/wp-google-fonts/google-fonts.php 中假定为“PLUGIN_URL”
注意:使用未定义的常量 PLUGIN_PATH - 在第 82 行的 /home2/findmyki/public_html/bolistylus/wp-content/plugins/wp-google-fonts/google-fonts.php 中假定为“PLUGIN_PATH”
注意:未定义索引:第 2306 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jetpack/jetpack.php 中的主机
注意:未定义索引:第 198 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-first_name
注意:未定义索引:第 199 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-last_name
注意:未定义索引:第 200 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-company
注意:未定义索引:第 201 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的运输地址
注意:未定义索引:第 202 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-address-2
注意:未定义索引:第 203 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-city
注意:未定义索引:第 204 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-state
注意:未定义索引:第 205 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-postcode
注意:未定义索引:第 206 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-country
重要的:
注意:未定义变量:第 211 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 user_id
注意:未定义索引:第 256 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 order_comments
注意:未定义索引:第 264 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-company
注意:未定义索引:第 265 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的帐单地址
注意:未定义索引:第 266 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-address-2
注意:未定义索引:第 267 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-city
注意:未定义索引:第 268 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-postcode
注意:未定义索引:第 269 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-country
注意:未定义索引:第 270 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-state
注意:未定义索引:第 272 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-phone
注意:未定义索引:第 282 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping_method
注意:未定义索引:第 283 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 payment_method
注意:未定义索引:第 1105 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/aioseop.class.php 中的 aiosp_edit
注意:未定义索引:第 1106 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/aioseop.class.php 中的 nonce-aioseop-edit
重要的:
注意:未定义变量:第 364 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 user_id
注意:未定义变量:第 379 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 available_gateways
重要的:
致命错误:在第 379 行的 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的非对象上调用成员函数 process_payment()
注意:未定义索引:第 710 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php 中的 aiosp_enabled
注意:未定义索引:第 710 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php 中的 aiosp_enabled
注意:使用未定义的常量 PLUGIN_URL - 在第 81 行的 /home2/findmyki/public_html/bolistylus/wp-content/plugins/wp-google-fonts/google-fonts.php 中假定为“PLUGIN_URL”
注意:使用未定义的常量 PLUGIN_PATH - 在第 82 行的 /home2/findmyki/public_html/bolistylus/wp-content/plugins/wp-google-fonts/google-fonts.php 中假定为“PLUGIN_PATH”
注意:未定义索引:第 2306 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jetpack/jetpack.php 中的主机
注意:未定义索引:第 198 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-first_name
注意:未定义索引:第 199 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-last_name
注意:未定义索引:第 200 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-company
注意:未定义索引:第 201 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的运输地址
注意:未定义索引:第 202 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-address-2
注意:未定义索引:第 203 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-city
注意:未定义索引:第 204 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-state
注意:未定义索引:第 205 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-postcode
注意:未定义索引:第 206 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping-country
注意:未定义变量:第 211 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 user_id
注意:未定义索引:第 256 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 order_comments
注意:未定义索引:第 264 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-company
注意:未定义索引:第 265 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的帐单地址
注意:未定义索引:第 266 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-address-2
注意:未定义索引:第 267 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-city
注意:未定义索引:第 268 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-postcode
注意:未定义索引:第 269 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-country
注意:未定义索引:第 270 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-state
注意:未定义索引:第 272 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 billing-phone
注意:未定义索引:第 282 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 shipping_method
注意:未定义索引:第 283 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 payment_method
注意:未定义索引:第 1105 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/aioseop.class.php 中的 aiosp_edit
注意:未定义索引:第 1106 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/aioseop.class.php 中的 nonce-aioseop-edit
注意:未定义变量:第 364 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 user_id
注意:未定义变量:第 379 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的 available_gateways
重要的!!!!:
致命错误:在第 379 行的 /home2/findmyki/public_html/bolistylus/wp-content/plugins/jigoshop/classes/jigoshop_checkout.class.php 中的非对象上调用成员函数 process_payment()
注意:未定义索引:第 710 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php 中的 aiosp_enabled
注意:未定义索引:第 710 行 /home2/findmyki/public_html/bolistylus/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php 中的 aiosp_enabled
注意:使用未定义的常量 PLUGIN_URL - 在第 81 行的 /home2/findmyki/public_html/bolistylus/wp-content/plugins/wp-google-fonts/google-fonts.php 中假定为“PLUGIN_URL”
注意:使用未定义的常量 PLUGIN_PATH - 在第 82 行的 /home2/findmyki/public_html/bolistylus/wp-content/plugins/wp-google-fonts/google-fonts.php 中假定为“PLUGIN_PATH”