Автоматически устанавливать перекрестные продажи в WooCommerce на основе проблемы с категорией продукта, при этом дубликPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Автоматически устанавливать перекрестные продажи в WooCommerce на основе проблемы с категорией продукта, при этом дублик

Сообщение Anonymous »

Код: Выделить всё

function filter_woocommerce_cart_crosssell_ids( $cross_sells, $cart ) {
// Initialize
$product_cats_ids = array();
$product_cats_ids_unique = array();

foreach ( $cart->get_cart() as $cart_item ) {
// Get product id
$product_id = $cart_item['product_id'];

// Get current product categories id(s) & add to array
$product_cats_ids = array_merge( $product_cats_ids, wc_get_product_term_ids( $product_id, 'product_cat' ) );
}

// Not empty
if ( !empty( $product_cats_ids ) ) {
// Removes duplicate values
$product_cats_ids_unique = array_unique( $product_cats_ids, SORT_REGULAR );

// Get product id(s) from a certain category, by category-id
$product_ids_from_cats_ids = get_posts( array(
'post_type'   => 'product',
'numberposts' => -1,
'post_status' => 'publish',
'fields'      => 'ids',
'tax_query'   => array(
array(
'taxonomy' => 'product_cat',
'field'    => 'id',
'terms'    => $product_cats_ids_unique,
'operator' => 'IN',
)
),
) );

// Removes duplicate values
$cross_sells = array_unique( $product_ids_from_cats_ids, SORT_REGULAR );
}

return $cross_sells;
}
add_filter( 'woocommerce_cart_crosssell_ids', 'filter_woocommerce_cart_crosssell_ids', 10, 2 );
Этот код отлично работает, но я получаю тот же рекомендованный продукт, который был добавлен в корзину, хотя кажется, что там есть код для проверки дубликатов. Кто-нибудь знает, что может быть причиной этого?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -issue-wit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»