当“当前用户”是登录用户并添加“编辑产品”链接时,我尝试删除“添加到购物车”按钮。但这完全打破了我的设计而没有工作:
它会在第一个产品
中显示“添加到购物车”按钮<?php
global $current_user;
get_currentuserinfo();
if (is_user_logged_in() && $current_user->ID == $post->post_author) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 10 );
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
add_action( 'woocommerce_after_shop_loop_item', 'btn_edit_own_product', 10 );
function btn_edit_own_product() {
edit_post_link('Edit Product');
}
}
?>
有任何帮助吗? 谢谢!
答案 0 :(得分: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 );
}
}
希望这会对你有所帮助。
有关详细信息,请访问
答案 1 :(得分:0)
请尝试使用此代码。把它放在你当前主题的functions.php
上add_action( 'woocommerce_shop_loop', 'custom_woocommerce_shop_loop' );
function custom_woocommerce_shop_loop() {
global $post;
$current_user = wp_get_current_user();
if (is_user_logged_in() && $current_user->ID == $post->post_author) {
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );;
add_action( 'woocommerce_after_shop_loop_item', 'btn_edit_own_product', 10 );
}
}
function btn_edit_own_product() {
edit_post_link('Edit Product');
}