Как вывести кнопку купить в один клик только в определенных категориях

Чтобы вывести кнопку “купить в один клик” только в нужных категориях нужно добавить такой код в плагин https://support.wpshop.ru/docs/general/profunctions/

function is_product_in_category( $post_id, $category ) {
    $terms      = get_the_terms( $post_id, 'product_cat' );
    $categories = is_array( $category ) ? $category : [ $category ];
    foreach ( $terms as $term ) {
        if ( is_numeric( $category ) ) {
            if ( in_array( $term->term_id, $categories ) ) {
                return true;
            }
        } else {
            if ( in_array( $term->slug, $categories ) ) {
                return true;
            }
        }
    }

    return false;
}

add_filter( 'bono_one_click_buy:show_button', function ( $enabled ) {
    if ( ! $enabled ) {
        return false;
    }
    global $product;

    $categories = [ 'clothing', 'tshirts' ]; // список нужных категорий
    if ( $product && is_product_in_category( $product->get_id(), $categories ) ) {
        return true;
    }

    return false;
} );

 

Это будет работать с версии 1.3.0, в которой появился хук bono_one_click_buy:show_button

Вам помог ответ?
Похожие вопросы
C формы обратной связи не приходят письма
+9
Как исправить галерею товара
+9
Как отделить категории от товаров
+8
Нет миниатюр
+7
Как на мобильном "Меню в шапке" вывести под "Меню под шапкой"?
+5
Как вывести содержание поста (оглавление)?
+4
Как включить комментарии на страницах?
+4
Как добавить и настроить телефонные номера?
+38
Как выровнять слева кнопку Наверх?
+3
Как вывести блок автора на странице записи?
+3
Как в рекламные блоки вставить код php?
+3
Как добавить табу на страницу товара
+3
Как изменить тип миниатюры на странице записи?
+2
Как поменять названия вкладок (табов)
+2
Как добавить раздел блога в Bono
+2
Как вставить Instagram запись?
+2
Как добавить рандомное количество просмотров?
+2
Как перевести конструктор главной
+2
Как вывести рейтинг на странице записи?
+2
Миниатюры неправильного размера (растянутые, квадратные, обрезанные и т.д.)
+18