Свяжите продукты WooCommerce между собой для настройки перекрестных продаж.Php

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

Сообщение Anonymous »

В WooCommerce я хотел бы:
  • если продукт A добавлен в перекрестные продажи продукта B, то продукт Б также должен автоматически добавляться в перекрестные продажи продукта А.
  • если продукт А удален из перекрестных продаж продукта Б, то и продукт Б также должен быть добавлен. автоматически удаляться из перекрестных продаж продукта А.
У меня есть такой код:

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

add_action('save_post_product', 'auto_link_cross_sells', 20, 2);

function auto_link_cross_sells($post_id, $post) {
// Prevent infinite loop using a transient
if (get_transient('auto_cross_sell_processing')) {
return;
}

// Get the current product's cross-sell IDs
$cross_sell_ids = get_post_meta($post_id, '_crosssell_ids', true);

// If there are no cross-sell IDs, exit the function
if (empty($cross_sell_ids) || !is_array($cross_sell_ids)) {
return;
}

// Set a transient to prevent an infinite loop
set_transient('auto_cross_sell_processing', true, 10);

// Loop through each cross-sell product ID
foreach ($cross_sell_ids as $cross_sell_id) {
// Check if the cross-sell product ID is valid
if (!get_post($cross_sell_id)) {
continue;
}

// Get the existing cross-sell IDs for the cross-sell product
$existing_cross_sells = get_post_meta($cross_sell_id, '_crosssell_ids', true);
if (!is_array($existing_cross_sells)) {
$existing_cross_sells = [];
}

// If the current product is not already a cross-sell of the cross-sell product, add it
if (!in_array($post_id, $existing_cross_sells)) {
$existing_cross_sells[] = $post_id;
update_post_meta($cross_sell_id, '_crosssell_ids', $existing_cross_sells);
}
}

// Remove the transient to allow the function to run again later
delete_transient('auto_cross_sell_processing');
}
Но он все равно не справляется со своей задачей.


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Свяжите продукты WooCommerce между собой для настройки перекрестных продаж.
    Anonymous » » в форуме Php
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Свяжите продукты WooCommerce между собой для настройки перекрестных продаж.
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Свяжите продукты WooCommerce между собой для настройки перекрестных продаж.
    Anonymous » » в форуме Php
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Свяжите продукты WooCommerce между собой для настройки перекрестных продаж.
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Диаграмма перекрестных перекрестных потоков (Санки или другие)
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

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