我的客户希望允许某些特定的客户随后通过发票付款。 因此,我在用户个人资料中添加了一个额外的字段,他可以在其中选择是/否。 该字段可以正常工作,并且可以正确保存。
取决于选择: 否=网上商店的默认行为,客户需要直接付款。 是=客户可以不付款就订购商品,稍后会收到发票。
也尝试了不同的付款方式,但每个人都可以使用,我只希望特定用户使用。
现在,我已经尝试基于functions.php中的该字段添加一个条件过滤器,如下所示:
if (esc_attr( get_the_author_meta( 'directbetalen', $user->ID ) ) == 'no') {
add_filter('woocommerce_cart_needs_payment', '__return_false');
}
但这似乎不起作用吗?
我希望在该字段设置为no
时跳过付款。
否则,一切正常,客户需要付款。
答案 0 :(得分:1)
使用WordPress get_user_meta()
功能,尝试以下操作:
add_filter( 'woocommerce_cart_needs_payment', 'disable_payment_for_specific_users' );
function show_specific_payment_method_for_specific_users( $needs_payment ) {
if ( get_user_meta( get_current_user_id(), 'directbetalen', true ) === 'no' ) {
$needs_payment = false;
}
return $needs_payment;
}
代码进入活动子主题(或活动主题)的functions.php文件中。应该可以。