Изменить выходной текст выпадающего продукта переменной woocommerce - PullRequest
0 голосов
/ 24 апреля 2020

Здравствуйте! Я нашел этот код в stackoverflow и пытаюсь внедрить его в свой сайт. Проблема, с которой я сталкиваюсь, заключается в том, что, когда foreach l oop завершен, он возвращает имена переменных, например, «3,0 сантиметра» вместо «3,0 сантиметра». Я изменил некоторый код, чтобы отобразить некоторые изменения, но как только я добавил свой код, он больше не показывается на складе. Иногда текст «Нет на складе» не отображается в раскрывающемся списке переменных продуктов при добавлении кода.

add_filter( 'woocommerce_variation_option_name', 'customizing_variations_terms_name', 999, 1 );

function customizing_variations_terms_name( $term_name ) {

global $product;
// Get available product variations
$product_variations = $product->get_available_variations();

// product_variation terms are normalized to lowercase with
// spaces replaced by dashes.
// if your term name contains capital letters or spaces i.e. 'SIZE 6'
// the product variation will be lowercase with dashes, i.e. 'size-6'

     $term_name = str_replace(' ', '-', strtolower($term_name));


foreach ( $product_variations as $product_variation ) {
    if( isset( $product_variation['attributes'] ) ) {
        $key = array_search($term_name, $product_variation['attributes']);

        if( $key !== false && ! $product_variation['is_in_stock'] ) {
            return $term_name . ' - Out of Stock';
        }
    }
}

return $term_name;
}

Я пытался изменить код на:

foreach ( $product_variations as $product_variation ) {
    if( isset( $product_variation['attributes'] ) ) {
        $key = array_search($term_name, $product_variation['attributes']);

        if( $key !== false && ! $product_variation['is_in_stock'] ) {
            **$term_name = str_replace('-', ' ', strtolower($term_name));**
            return $term_name . ' - Out of Stock';
        }
    }
}
**$term_name = str_replace('-', ' ', strtolower($term_name));**
return $term_name;
}

1 Ответ

0 голосов
/ 25 апреля 2020

Если вы не хотите, чтобы названия вариантов форматировались - просто отбросьте эту строку кода $term_name = str_replace(' ', '-', strtolower($term_name));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...