За последние 24 часа нас посетил 16571 программист и 1572 робота. Сейчас ищут 677 программистов ...

Почему не могу получить значение из каждого товара Advanced Custom Fields?

Тема в разделе "Wordpress", создана пользователем h_lex, 18 июн 2019.

  1. h_lex

    h_lex Новичок

    С нами с:
    18 июн 2019
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени суток, у меня инт-магазин построенный на Woocommerce, есть группа полей созданная с помощью Advanced Custom Fields, я сделал отображение этой группы полей в каждом товаре и по умолчанию задал значение, допустим, 1500. Импортирую товары с помощью WP All Import и эти импортированные товары выводятся с нулевой ценой, в function.php написал код изменяющий цену, по нужной мне формуле, одно из значений беру из этой самой группы полей из каждого товара, нашел причину вывода нулевой цены — значение (1500), которое задано по умолчанию, вводится в формулу как 0, то есть, сейчас покажу сокращенную формулу для наглядного примера:
    PHP:
    1. function my_price($price, $_product){
    2.  
    3.   $number = get_field('number', $post->ID);
    4.   $new_price = $number ;
    5.   return $new_price;
    6.  
    7. }
    8.  
    9. add_filter('woocommerce_product_get_price', 'my_price',100,2);
    $number — это значение из товара, которое по умолчанию должно равняться 1500, но равняется 0, не понимаю в чем проблема, но если зайти в товар и нажать обновить то все работает, в чем может быть причина?
    Заранее спасибо за ответ!
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @h_lex, вероятно, в 3-й строке приведённого кода происходит что-то не то.
    Уверены, что поле должно браться из свойства переменной $post?