从WooCommerce“客户”角色隐藏我帐户中的帐户资金充值

时间:2019-06-21 11:46:59

标签: php wordpress woocommerce hook-woocommerce woocommerce-subscriptions

我有一个Woocommerce订阅网站,所以我的大多数客户角色是Subscriber。现在,我想向潜在的Customer角色的潜在客户提供一些免费的迷你试用版,因为我们尚未吸引他们注册订阅。

问题是帐户资金(插件:WooCommerce的WooCommerce帐户资金)显示在其“我的帐户”区域,允许他们在需要时存入10美元并绕开订阅。我该如何通过Woocommerce挂钩将其隐藏起来?

以下是与{@ {1}}

中的“付费帐户资金”插件的“我的帐户”相关的源代码
/includes/class-wc-account-funds-my-account.php

1 个答案:

答案 0 :(得分:5)

一种禁用/隐藏充值表单的简单方法是通过将“帐户资金”模板(myaccount/account-funds.php)从插件文件夹复制到您的主题文件夹-即复制此文件:

wp-content/plugins/woocommerce-account-funds/templates/myaccount/account-funds.php

收件人:

wp-content/themes/your-theme/woocommerce/myaccount/account-funds.php

然后找到并更改以下内容:

<?php echo $topup; ?>

收件人:

<?php
// If the current user is **not** a "customer", show the topup form.
if ( ! current_user_can( 'customer' ) ) {
    echo $topup;
}
?>

查看完整代码here。 (适用于“ WooCommerce帐户资金” 2.1.16版)

您也可以编辑充值表单模板本身(myaccount/topup-form.phplike this


我还要将其添加到主题功能文件中:

// If the user is a "customer", bypass the action which handles top-ups.
add_action( 'wp', function(){
    if ( isset( $_POST['wc_account_funds_topup'] ) && current_user_can( 'customer' ) ) {
        unset( $_POST['wc_account_funds_topup'] );
    }
}, 0 );