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

Как сделать две цены?

Dimitry

Форумчанин
Для всех товаров нужно сделать две цены - стоимость аренды в сутки и стандартная цена.

Вот пример реализации

Подскажите, как это можно реализовать? Может есть подходящие плагины для этого?

Заранее спасибо за помощь!
 
add_action( 'woocommerce_product_options_pricing', 'wc_rrp_product_field' );
function wc_rrp_product_field() {
woocommerce_wp_text_input( array( 'id' => 'rrp_price', 'class' => 'wc_input_price short', 'label' => __( 'ОДНА', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')' ) );
}
add_action( 'save_post', 'wc_rrp_save_product' );
function wc_rrp_save_product( $product_id ) {
// Если это автосохранение, то ничего не делаем, сохраняем данные только при нажатии на кнопку Обновить
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
if ( isset( $_POST['rrp_price'] ) ) {
if ( is_numeric( $_POST['rrp_price'] ) )
update_post_meta( $product_id, 'rrp_price', $_POST['rrp_price'] );
} else delete_post_meta( $product_id, 'rrp_price' );
}
add_action( 'woocommerce_single_product_summary', 'wc_rrp_show', 5 );
function wc_rrp_show() {
global $product;
// Ничего не предпринимаем для вариативных товаров
if ( $product->product_type <> 'variable' ) {
$rrp = get_post_meta( $product->id, 'rrp_price', true );
echo '<div style="clear: both;"></div><div style="margin-top: 10px;" class="woocommerce_msrp">';
_e( 'Одна: ', 'woocommerce' );
echo '<span class="woocommerce-rrp-price">' . woocommerce_price( $rrp ) . '</span>';
echo '</div><div style="clear: both;"></div>';
}
}

// Дополнительно: Для вывода на страницах архивов (в товарных категориях, например)
add_action( 'woocommerce_after_shop_loop_item_title', 'wc_rrp_show' );



Вместо одна вставьте свой текст
 

Dimitry

Форумчанин
Здравствуйте. Большое спасибо за ответ. Но в вашем варианте цена "одна 220 руб." носит чисто ознакомительный характер.
Мне же нужно, чтобы человек мог арендовать товар, либо купить его по стандартной цене.

Это можно сделать при выборе цены с помощью чекбоксов на карточке товара, либо в виде двух кнопок "Арендовать" и "Купить".
 

Dimitry

Форумчанин
Спасибо за ответ. У этих двух плагинов один автор.
К сожалению, там можно сделать только стандартную цену, либо аренду.
 

Dimitry

Форумчанин
Да, в pro-версии тоже самое. Там можно вывести базовую цену и аренду одновременно, вот только аренда будет прибавляться к базовой и наоборот.
Делать два типа товара... Если у меня в каталоге 1000 моделей, то в итоге получится 2000. Зачем мне это?
 

vulkan3

Новичок
add_action( 'woocommerce_product_options_pricing', 'wc_rrp_product_field' );
function wc_rrp_product_field() {
woocommerce_wp_text_input( array( 'id' => 'rrp_price', 'class' => 'wc_input_price short', 'label' => __( 'ОДНА', 'woocommerce' ) . ' (' . get_woocommerce_currency_symbol() . ')' ) );
}
add_action( 'save_post', 'wc_rrp_save_product' );
function wc_rrp_save_product( $product_id ) {
// Если это автосохранение, то ничего не делаем, сохраняем данные только при нажатии на кнопку Обновить
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
if ( isset( $_POST['rrp_price'] ) ) {
if ( is_numeric( $_POST['rrp_price'] ) )
update_post_meta( $product_id, 'rrp_price', $_POST['rrp_price'] );
} else delete_post_meta( $product_id, 'rrp_price' );
}
add_action( 'woocommerce_single_product_summary', 'wc_rrp_show', 5 );
function wc_rrp_show() {
global $product;
// Ничего не предпринимаем для вариативных товаров
if ( $product->product_type <> 'variable' ) {
$rrp = get_post_meta( $product->id, 'rrp_price', true );
echo '<div style="clear: both;"></div><div style="margin-top: 10px;" class="woocommerce_msrp">';
_e( 'Одна: ', 'woocommerce' );
echo '<span class="woocommerce-rrp-price">' . woocommerce_price( $rrp ) . '</span>';
echo '</div><div style="clear: both;"></div>';
}
}

// Дополнительно: Для вывода на страницах архивов (в товарных категориях, например)
add_action( 'woocommerce_after_shop_loop_item_title', 'wc_rrp_show' );



Вместо одна вставьте свой текст
а как сделать вот так
 

Вложения

  • Принтер KYOCERA ECOSYS P3045dn - Google Chrome 202.png
    Принтер KYOCERA ECOSYS P3045dn - Google Chrome 202.png
    10 KB · Просмотры: 10
Сверху Снизу