【发布时间】:2021-06-08 01:24:21
【问题描述】:
根据 LoicTheAztec 对Add a pay order button on WooCommerce My account view order for pending orders 的回答代码,我添加了其他代码,试图让此按钮直接显示在“查看订单”端点上的自定义列中。
列存在,但按钮不存在。我也尝试在函数中将$order 与$order_id 切换,但没有成功。
这是我正在使用的代码:
add_filter( 'woocommerce_my_account_my_orders_columns', 'add_payment_column_to_myaccount', 10, 1 );
function add_payment_column_to_myaccount( $columns ) {
$new_columns = [];
foreach ($columns as $key => $name){
$new_columns[$key] = $name;
if ('order-actions' === $key){
$new_columns['pay-order'] = __('Payment', 'woocommerce');
}
}
return $new_columns;
}
add_action( 'woocommerce_my_account_my_orders_column_order-items', 'add_pay_for_order_to_payment_column_myaccount', 10, 1);
function add_pay_for_order_to_payment_column_myaccount( $order ) {
$order = wc_get_order( $order_id );
if ( $order->get_status() == "pending" || $order->get_status() == "on-hold" ) {
printf('<a class="woocommerce-button button pay" href="%s/order-pay/%s/?pay_for_order=true&key=%s">%s</a>',
wc_get_checkout_url(), $order_id, $order->get_order_key(), __("Pay for this order", "woocommerce")
);
}
}
【问题讨论】:
标签: php wordpress woocommerce payment orders