Изменить название продукта Woocommerce для конкретного тега продукта ⇐ Php
Изменить название продукта Woocommerce для конкретного тега продукта
После кода ответа «Изменить название продукта Woocommerce, когда цена указана со скидкой» на один из моих предыдущих вопросов, который добавляет названия продуктов на основе цены продажи.
Теперь я пытаюсь добавить ту же функцию для продуктов с определенным тегом продукта:
add_filter('the_title', 'change_product_title', 10, 2 ); функцияchange_product_title($post_title, $post_id) { if( get_post_type($post_id) === 'продукт') { $product = wc_get_product($post_id); if( is_a($product, 'WC_Product') && $product->get_sale_price() > 0 ) { $post_title .= 'NET'; }else if( is_a($product, 'WC_Product') && has_tag( $tag = 'Товары', $post = null )){ $post_title .= 'СЕТЬ'; } } вернуть $post_title; } add_filter('woocommerce_product_variation_get_name', 'change_product_name', 10, 2 ); add_filter('woocommerce_product_get_name', 'change_product_name', 10, 2 ); функцияchange_product_name($name, $product) { если ($product->get_sale_price() > 0){ $name .= 'NET'; }else if( has_tag($tag = 'Товары длительного пользования', $post = null)){ $name .= 'NET'; } вернуть $имя; } Этот код не дает желаемого эффекта. Я никогда не использовал функцию has_tag и не уверен, подходит ли она для этого сценария. Я пробовал использовать несколько версий имени тега (hard-goods, Hard_Goods и т. д.), но безрезультатно.
После кода ответа «Изменить название продукта Woocommerce, когда цена указана со скидкой» на один из моих предыдущих вопросов, который добавляет названия продуктов на основе цены продажи.
Теперь я пытаюсь добавить ту же функцию для продуктов с определенным тегом продукта:
add_filter('the_title', 'change_product_title', 10, 2 ); функцияchange_product_title($post_title, $post_id) { if( get_post_type($post_id) === 'продукт') { $product = wc_get_product($post_id); if( is_a($product, 'WC_Product') && $product->get_sale_price() > 0 ) { $post_title .= 'NET'; }else if( is_a($product, 'WC_Product') && has_tag( $tag = 'Товары', $post = null )){ $post_title .= 'СЕТЬ'; } } вернуть $post_title; } add_filter('woocommerce_product_variation_get_name', 'change_product_name', 10, 2 ); add_filter('woocommerce_product_get_name', 'change_product_name', 10, 2 ); функцияchange_product_name($name, $product) { если ($product->get_sale_price() > 0){ $name .= 'NET'; }else if( has_tag($tag = 'Товары длительного пользования', $post = null)){ $name .= 'NET'; } вернуть $имя; } Этот код не дает желаемого эффекта. Я никогда не использовал функцию has_tag и не уверен, подходит ли она для этого сценария. Я пробовал использовать несколько версий имени тега (hard-goods, Hard_Goods и т. д.), но безрезультатно.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение