Установите пользовательскую замену цены продукта во внешнем интерфейсе, если она определена в серверной части WooCommercPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Установите пользовательскую замену цены продукта во внешнем интерфейсе, если она определена в серверной части WooCommerc

Сообщение Anonymous »

Я хочу, чтобы в WooCommerce была доступна третья цена:
  • Обычная цена
  • Цена со скидкой
  • Суперцена продажи
Пока я добавил ее в административную область и интерфейс, чтобы она была видимой, но все, что я попробую, у меня получится. Не могу заставить его работать с корзиной, потому что мне нужно, чтобы он проверял от 3 до одного, например: если есть вариант 3 (цена суперпродажи), укажите эту цену, если есть 2 (цена со скидкой), сделайте эту цену, если есть 1 (только обычная цена), укажите эту цену.
И все это не должно путаться с переменными товарами и быть только для простых товаров.
Вот мой код :

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

/**
* Function to render UI in Admin Product add/edit page
*/
function show_custom_price_admin() {

global $thepostid;

woocommerce_wp_text_input(
array(
'id'    => 'custom_price',
'name'  => '_custom_price',
'value' => get_post_meta( $thepostid, '_custom_price', true ),
'class' => 'wc_input_price short',
'label' => __( 'Custom Price ($)', 'vg' ),
)
);
}
add_action( 'woocommerce_product_options_pricing', 'show_custom_price_admin' );

/**
* Function to update custom price Admin Product add/edit page
*
* @param int $post_id Product's post id.
*/
function process_product_custom_data( $post_id ) {

$product = wc_get_product( $post_id );

$product->update_meta_data(
'_custom_price',
wc_clean( wp_unslash( filter_input( INPUT_POST, '_custom_price' ) ) )
);
$product->save();
}
add_action( 'woocommerce_process_product_meta', 'process_product_custom_data' );

/**
* Function to show custom price front end page
*/
function show_custom_price_frontend() {
global $post;

$custom_price = get_post_meta( $post->ID, '_custom_price', true );

if ( $custom_price ) {
$custom_price = wc_price( $custom_price );

printf( '
%s
', $custom_price );
}
}
add_action( 'woocommerce_before_add_to_cart_form', 'show_custom_price_frontend' );
Пока я добавил его в область администратора и во внешний интерфейс, чтобы он был видимым, но что бы я ни пытался, я не могу заставить его работать с корзиной, потому что мне нужно, чтобы он проверял от 3 до один, например: если есть вариант 3 (суперцена), укажите эту цену, если есть 2 (цена со скидкой), укажите эту цену, если есть 1 (только обычная цена), укажите эту цену.
И все это не должно путаться с вариативными товарами и относиться только к простым товарам.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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