WooCommerce-隐藏价格并添加到购物车按钮

时间:2019-06-20 作者:AntipolDev

我需要隐藏价格和添加到购物车按钮为非登录用户在我的网站上,我尝试了一些代码,我在网上找到,但它不完全工作。

代码如下:

add_action(\'after_setup_theme\', \'activate_filter\');
function activate_filter()
{
    add_filter(\'woocommerce_get_price_html\', \'show_price_logged\');
    add_filter(\'woocommerce_get_suffix_html\', \'show_price_logged\');
}

function show_price_logged($price)
{
    if (is_user_logged_in()) {
        return $price;
    } else {
        remove_action( \'woocommerce_after_shop_loop_item\', \'woocommerce_template_loop_add_to_cart\', 10 );
        remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_price\', 10 );
        remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_add_to_cart\', 30 );
        remove_action( \'woocommerce_after_shop_loop_item_title\', \'woocommerce_template_loop_price\', 10 );
        return \'Veuillez vous <a href="\' . get_permalink(woocommerce_get_page_id(\'myaccount\')) . \'">connecter</a> afin de visualiser nos tarifs\';
    }
}
这取代了价格的文字只适用于产品谁是“可变产品”,对于正常的产品,我只是没有什么,而不是价格。

还有我使用的主题(flatsome),我可以在一个模式中查看产品,这里还有“添加到购物车”按钮。

我可以添加什么来在模式中隐藏此按钮并显示文本,而不是非可变产品的价格?

1 个回复
SO网友:phptherightway

Use WordPress函数为\\u user\\u logged\\u in()。

不确定是否使用自定义模板文件,但您肯定需要这样做,以便此自定义代码不会被任何主题更新覆盖。因此,在自定义php文件中,可以使用该函数将price和button封装在if语句中,以检查用户是否登录,然后显示price和button

if ( is_user_logged_in() ) {
      echo "Price: " $price;
      echo "<button>Buy</button>
    }

相关推荐