【问题标题】:woocommerce- hide add to cart button for product authorwoocommerce- 隐藏产品作者的添加到购物车按钮
【发布时间】:2016-04-05 18:41:08
【问题描述】:

作为我的自定义插件(基于 woocommerce)开发的一部分,我已将作者分配给产品,并愿意为产品作者隐藏添加到购物车按钮,以便我可以限制作者购买他们自己的产品。

为此,我尝试了以下代码,但无法向作者隐藏添加到购物车按钮。

add_action('after_setup_theme','user_filter_addtocart') ;
function user_filter_addtocart(){
    $user_id = get_current_user_id();
    $author_id = get_post_field('post_author', get_the_ID());
    if(get_current_user_id() === $author_id){
        remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30, 3 );
    }
}

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    您可以试试这个,如果您使用的是默认商店和单个产品页面,它将起作用,如果您为这些页面使用自定义模板,那么请确保您在自定义模板中正确使用默认挂钩和过滤器。

    /* remove add-to-cart from shop page for product author  */
    add_action('woocommerce_after_shop_loop_item_title','user_filter_addtocart_for_shop_page') ;
    function user_filter_addtocart_for_shop_page(){
        $user_id = get_current_user_id();
        $author_id = get_post_field('post_author', get_the_ID());
        if($user_id == $author_id){
            remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
        }
    }
    
    /* remove add-to-cart from single product  page for product author  */
    add_action('woocommerce_before_single_product_summary','user_filter_addtocart_for_single_product_page') ;
    function user_filter_addtocart_for_single_product_page(){
        $user_id = get_current_user_id();
        $author_id = get_post_field('post_author', get_the_ID());
        if($user_id == $author_id){
            remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
        }
    }
    

    【讨论】:

    • 谢谢,它成功了。我错过了woocommerce_after_shop_loop_item_title 部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    相关资源
    最近更新 更多