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

Чтобы вывести кнопку “купить в один клик” только в нужных категориях нужно добавить такой код в плагин 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

Вам помог ответ?
Похожие вопросы
Как выровнять меню под шапкой по центру?
+9
Как вывести рекламу на страницах?
+8
Что означает ошибка publisher в микроразметке?
+8
Почему не показывается количество просмотров?
+6
C формы обратной связи не приходят письма
+4
Как изменить почту, на которую приходят сообщения с формы обратной связи?
+3
Как вывести содержание поста (оглавление)?
+3
Как включить комментарии на страницах?
+3
Как добавить и настроить телефонные номера?
+28
Как изменить тип миниатюры на странице записи?
+2
Как поменять названия вкладок (табов)
+2
Как исправить галерею товара
+2
Как вывести содержание в начале статьи?
+2
Как в рекламные блоки вставить код php?
+2
Как добавить табу на страницу товара
+2
Миниатюры неправильного размера (растянутые, квадратные, обрезанные и т.д.)
+14
Как изменить поле telephone в микроразметке?
+13
Как убрать поле "Сайт" из формы комментирования?
+13
Как убрать поле "Email" из формы комментирования?
+103
Как в содержании исключить ненужные заголовки?
+10