Добавление переменной, которая ведет учет для каждой покупки Woocommerce - PullRequest
0 голосов
/ 14 октября 2019

Я стремлюсь создать переменную в следующем коде, чтобы при каждом совершении покупки она продолжала добавлять определенное значение к данной переменной. Вот код:

<?php
$osszegyultpenz=0;
$i=0;
$args = array(
    'numberposts' => -1,
    'post_status' => array_keys(wc_get_order_statuses()), 'post_status' => array('Processing,Completed')
);
$orders = wc_get_orders( $args );
foreach ( $orders as $order ) {
$items = $order->get_items();
foreach ( $items as $item ) {


 if ($item["pa_tamogatott-partner"]=="palackaradat"){



    if ((int)$item["subtotal"]% 3810==0){
      $i = (int)$item["subtotal"]/3810;
      $i=$i*1905;
     $osszegyultpenz=$osszegyultpenz+$i;
     }
     if ((int)$item["subtotal"]% 5080==0){
       $i = (int)$item["subtotal"]/5080;
       $i=$i*2540;

     $osszegyultpenz=$osszegyultpenz+$i;
     }
     if ((int)$item["subtotal"]% 6350==0){
       $i = (int)$item["subtotal"]/6350;
       $i=$i*3175;

     $osszegyultpenz=$osszegyultpenz+$i;


     }

  }

}
}
echo "<p class=osszeszazalek>" . $osszegyultpenz/10000 . '%' . " </p>";

Дело в том, что код работает, но если он настроен таким образом, значение всегда сбрасывается из-за $ osszegyultpenz и $ i. Как бы вы изменили это так, чтобы $ osszegyultpenz был изначально только 0, и после запуска этого сценария он сохраняет свое значение в конце сценария и добавляет его к нему при следующей покупке?

Любая помощь приветствуется!

1 Ответ

3 голосов
/ 14 октября 2019

Что вы можете сделать, так это установить опцию с помощью add_option, которая будет хранить значение в базе данных, которое можно получить с помощью get_option и обновить с помощью update_option, чтобы решить проблему сброса переменных иВы можете сделать поток как

$my_custom_varibale=get_option('any_name_you_want');
$changed_value=$my_custom_variable+$change_the_value;
update_option('any_name_you_want',$changed_value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...