• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

$formatted_price - добавить вывод дополнительного поля

Ria

Форумчанин
Уже больше 2 недель не выходит ничего, подскажите пожалуйста, как же это правильно сделать?
Файл wc-formatting-functions.php (строка 426)
Код:
$formatted_price = ( $negative ? '-' : '' ) . sprintf( $price_format, '<span class="woocommerce-Price-currencySymbol">' . get_woocommerce_currency_symbol( $currency ) . '</span>', $price );
    $return          = '<span class="woocommerce-Price-amount amount">' . $formatted_price . '</span>';
Вывод символа валюты мне не нужен (get_woocommerce_currency_symbol( $currency ) ) - я его убрал.
Через админку добавляю поля которые вывожу в карточке товара (там все работает)
Код:
add_action( 'woocommerce_product_options_general_product_data', 'wc_rooms_product_field' );
  function wc_rooms_product_field() {
  woocommerce_wp_text_input( array( 'id' => 'rooms', 'class' => 'wc_input_curency_price short', 'label' => __( 'Валюта', 'woocommerce' ) . ' ' ) );
  }
 
add_action( 'save_post', 'wc_rooms_save_product' );
  function wc_rooms_save_product( $product_id ) {
    // Если это автосохранение, то ничего не делаем, сохраняем данные только при нажатии на кнопку Обновить
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
    if ( isset( $_POST['rooms'] ) ) { update_post_meta( $product_id, 'rooms', $_POST['rooms'] );
  } else delete_post_meta( $product_id, 'rooms' );
  }
 
/*************Показываем поле на самом сайте********/ 
/*add_action( 'woocommerce_single_product_summary', 'wc_rooms_show', 15 );
  function wc_rooms_show() { global $product;
    // Ничего не предпринимаем для вариативных товаров
    if ( $product->product_type <> 'variable' ) {$rooms = get_post_meta( $product->id, 'rooms', true );
      echo '<div style="width: 72%; height: 0; border-bottom: 1px dotted violet;">&nbsp;</div> <div class="woocommerce_msrp">';
      _e( 'Валюта: ', 'woocommerce' );
      echo '<span class="woocommerce-rooms-price">' . woocommerce_clean( $rooms ) . '</span>';
      echo '</div>';
    }
  }

К примеру в карточке товара я делаю вывод так: в файле price.php пишу:
Код:
<?php echo $product->get_display_price(), $rooms = get_post_meta( $product->id, 'rooms', true ); ?>
С помощью $rooms = get_post_meta( $product->id, 'rooms', true ) - я рядом с суммой получаю вывод того что указываю в админке в доп. поле.

Возвращаемся к файлу wc-formatting-functions.php и что я здесь только не писал - ну ничего не выходит
Код:
$formatted_price = ( $negative ? '-' : '' ) . sprintf( $price_format, $rooms = get_post_meta( $product->id, 'rooms', true ), $price );
    $return          = '<span class="woocommerce-Price-amount amount">' . $formatted_price . '</span>';

Как же мне все-таки правильно сформировать этот $formatted_price ? По сути я так понимаю что сам wc-formatting-functions.php не поймет что от него хотят, он не понимает что такое $rooms = get_post_meta( $product->id, 'rooms', true ) или просто $rooms - может ему нужно отдельно какую-то функию прописать дополнительно в этом файле? Помогите пожалуйста понять что? где? как? куда?
 
Сверху Снизу