Woocommerce - Удалить кнопку «Добавить в корзину», когда пользователь является автором продукта. - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь удалить кнопку «Добавить в корзину», когда текущий пользователь вошел в систему, и добавить ссылку «Изменить продукт». Но это полностью нарушает мой дизайн и не работает:

  • Показано только 2 из 12 товаров
  • На первом продукте отображается кнопка «Добавить в корзину»

    <?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');
    }
    }
    ?>
    

Любая помощь? Спасибо !!

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Пожалуйста, попробуйте этот код. Поместите это в функции вашей текущей темы. 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');
}
0 голосов
/ 25 апреля 2018

Попробуйте этот код,

/* 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 - скрыть кнопку «Добавить в корзину» для автора продукта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...