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

Вывод цены на вариативный товар

Тема в разделе "Вопросы, советы и доработки.", создана пользователем adward, 22 сен 2013.

Статус темы:
Закрыта.
  1. adward

    adward

    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    6
    Кто нибудь может мне подсказать, как выводить цену радиобаттонами на товар, в случае, если он вариативный?

    сейчас он выводится селектом:

    [​IMG]
     
  2. Валерий

    Валерий

    Сообщения:
    271
    Симпатии:
    152
    Баллы:
    43
    Такое можно сделать двумя способами:

    1) Плагином Woocommerce Radio Buttons (плагин рабочий, проверено лично, все выводится как надо).

    2) При помощи хуков. Например, с помощью вот такого кода:
    Код:
    add_filter( 'woocommerce_variation_option_name', 'display_price_in_variation_option_name' );
    
    function display_price_in_variation_option_name( $term ) {
        global $wpdb, $product;
    
        $result = $wpdb->get_col( "SELECT slug FROM {$wpdb->prefix}terms WHERE name = '$term'" );
    
        $term_slug = ( !empty( $result ) ) ? $result[0] : $term;
    
    
        $query = "SELECT postmeta.post_id AS product_id
                    FROM {$wpdb->prefix}postmeta AS postmeta
                        LEFT JOIN {$wpdb->prefix}posts AS products ON ( products.ID = postmeta.post_id )
                    WHERE postmeta.meta_key LIKE 'attribute_%'
                        AND postmeta.meta_value = '$term_slug'
                        AND products.post_parent = $product->id";
    
        $variation_id = $wpdb->get_col( $query );
    
        $parent = wp_get_post_parent_id( $variation_id[0] );
    
        if ( $parent > 0 ) {
            $_product = new WC_Product_Variation( $variation_id[0] );
            return $term . ' (' . woocommerce_price( $_product->get_price() ) . ')';
        }
        return $term;
    
    }
    Работоспособность данного кода я не проверял, так что если что не работает, задавайте вопросы тому, кто это придумал ;), т.е. товарищу Ратнакару (перейдя по ссылке Вы увидите оригинал кода, а под ним фотка дорогого товарища с его координатами и сайтом).
     
    • Нравится Нравится x 1

Статус темы:
Закрыта.