Проверьте, есть ли в комплекте продуктов дополнительные продажи (дополнительные элементы) или простые элементы в комплекPhp

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

Сообщение Anonymous »

Я новичок в программировании и пытаюсь немного редактировать наш веб-сайт WC.
Надеюсь, мой английский достаточно приличный, чтобы передать необходимую информацию…
Я создал функцию который проверяет, является ли продукт набором типов, и работает нормально.
К сожалению, мне нужна моя функция, чтобы различать пакеты с дополнительными элементами и пакеты без дополнительных элементов.
- -
Отредактированное обновление: я изменил свою тактику, так как для этой проверки мне не нужен JS.
Но мне все равно не хватает необходимых основ PHP.

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

add_action ( 'woocommerce_before_add_to_cart_form', 'ino_qty_main_function');

function ino_qty_main_function() {
global $product;
if ( $product->is_type('bundle') ) {
$hasqty = 5;
$bundleditems = $product->get_bundled_items();
foreach ( $bundled_items as $bundleditem ) {
if ( $bundleditem->is_optional('yes')) {
$hasqty = 1;
echo " 1 product optional ";
} else {
$hasqty = 0;
echo " 1 product not optional ";
}
}
echo " final hasqty" . $hasqty . "";
}

}
это функция для проверки того, как она работает [не работаю с IDE, работаю над промежуточным сайтом].
Я почти уверен, что мне не хватает базовых знаний о том, как это выполнить. проверьте.
в файлах плагинов пакета я нашел следующие вещи, которые должны помочь правильно построить эту функцию:

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

public function is_optional() {
return 'yes' === $this->optional;
}
а также массив, в котором хранятся данные:

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

private function load_data() {

// Defaults.
$defaults = array(
'quantity_min'                          => 1,
'quantity_max'                          => 1,
'quantity_default'                      => 1,
'priced_individually'                   => 'no',
'shipped_individually'                  => 'no',
'override_title'                        => 'no',
'title'                                 => '',
'override_description'                  => 'no',
'description'                           => '',
'optional'                              => 'no',
'hide_thumbnail'                        => 'no',
'discount'                              => '',
'override_variations'                   => 'no',
'override_default_variation_attributes' => 'no',
'allowed_variations'                    => false,
'default_variation_attributes'          => false,
'single_product_visibility'             => 'visible',
'cart_visibility'                       => 'visible',
'order_visibility'                      => 'visible',
'single_product_price_visibility'       => 'visible',
'cart_price_visibility'                 => 'visible',
'order_price_visibility'                => 'visible',
'stock_status'                          => null,
'max_stock'                             => null
);
Я хочу проверить, есть ли на странице продукта объединенные элементы, если да, то проверить, является ли хотя бы один из связанных продуктов необязательным.
если он есть то есть $hasqty = 1 , иначе $hasqty=0.
Edit2:
Все заработало! И понял, что упустил много основ.

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

add_action ( 'woocommerce_before_add_to_cart_form', 'ino_qty_main_function');

function ino_qty_main_function() {
global $product;
if ( $product->is_type('bundle') ) {
$hasqty = 0;
$bundleditems = $product->get_bundled_items();
foreach ( $bundleditems as $bundleditem ) {
if ($bundleditem->is_optional('yes')) {

$hasqty++ ;
echo " 1 product optional ";
}
}

echo " final hasqty" . $hasqty .  "";
}
}
Осталось только настроить его, чтобы добавить кнопки вместо печати тестовых значений.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Невозможно найти в комплекте в комплекте версию Java на Flutter
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Невозможно найти в комплекте в комплекте версию Java на Flutter
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Отображение шорткода Woocommerce для продажи продуктов для определенной категории продуктов
    Anonymous » » в форуме Php
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Идеальные цифры и простые простые числа - Python
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Идеальные цифры и простые простые числа - Python
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

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