Включите индивидуальные варианты ценообразования для простых продуктов WooCommerce.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Включите индивидуальные варианты ценообразования для простых продуктов WooCommerce.

Сообщение Anonymous »

В настоящее время у меня есть специальные цены, основанные на ролях пользователей, настроенных для работы с различными продуктами.
[img]https: //i.sstatic.net/53Cker1H.png[/img]

И вот код, который я использую, чтобы это работало:

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

    // Add custom fields to variations option pricing
add_action( 'woocommerce_variation_options_pricing', 'add_variation_options_pricing', 20, 3 );
function add_variation_options_pricing( $loop, $variation_data, $post_variation )
{
$value1  = get_post_meta( $post_variation->ID, '_food_price', true );
$value2  = get_post_meta( $post_variation->ID, '_hot_food_price', true );
$value3  = get_post_meta( $post_variation->ID, '_general_price', true );

$symbol = ' (' . get_woocommerce_currency_symbol() . ')';

$key_1 = '_food_price[' . $loop . ']';
$key_2 = '_hot_food_price[' . $loop . ']';
$key_3 = '_general_price[' . $loop . ']';

// General
echo '
' . __( "General", "woocommerce" ) . $symbol . '

';

// Food
echo '
' . __( "Food", "woocommerce" ) . $symbol . '

';

// Hot Food
echo '
' . __( "Hot Food", "woocommerce" ) . $symbol . '

';
}

// Save variations prices custom fields values
add_action( 'woocommerce_save_product_variation', 'save_product_variation_price', 20, 2 );
function save_product_variation_price( $variation_id, $i )
{
if ( isset( $_POST['_food_price'][$i] ) )
{
update_post_meta( $variation_id, '_food_price', floatval( $_POST['_food_price'][$i] ) );
}

if ( isset( $_POST['_hot_food_price'][$i] ) )
{
update_post_meta( $variation_id, '_hot_food_price', floatval( $_POST['_hot_food_price'][$i] ) );
}

if ( isset( $_POST['_general_price'][$i] ) )
{
update_post_meta( $variation_id, '_general_price', floatval( $_POST['_general_price'][$i] ) );
}
}

// Variable product price range
add_filter('woocommerce_variation_prices_price', 'variation_price', 900, 2 );

// Product variations (of a variable product)
add_filter('woocommerce_product_variation_get_price', 'variation_price', 900, 2 );
function variation_price( $price, $object )
{
if( is_user_logged_in() ) {
// Hot Food User
if ( current_user_can( 'stallholder') && current_user_can( 'hot_food' ) ) {
$new_price = (float) get_post_meta( $object->get_id(), '_hot_food_price', true );
$price     = empty($new_price) ? $price : $new_price;
}
// Food User
elseif ( current_user_can( 'stallholder') && current_user_can( 'food' ) ){
$new_price = (float) get_post_meta( $object->get_id(), '_food_price', true );
$price     = empty($new_price) ? $price : $new_price;
}
// General User
else {
$new_price = (float) get_post_meta( $object->get_id(), '_general_price', true );
$price     = empty($new_price) ? $price : $new_price;
}
}
return $price;
}
Теперь я хочу сделать то же самое для простых продуктов и добавить сюда эти поля.
Изображение

Я пытался найти эти поля там, где они мне нужны. идти, но ничего не получилось.
Любая помощь принимается с благодарностью. Спасибо.

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

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

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

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

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

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

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