Last active
May 15, 2026 17:47
-
-
Save DmitryBychenko/e221b557557b3c11b224fa8ec2451b0d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Универсальное изменение текста кнопок WooCommerce (Архивы и Карточка товара) | |
| * Разработано специально для 100% совместимости со всеми темами (включая Astra Pro, Blocksy, Elementor) | |
| * Поддерживает мультиязычность (WPML, Polylang) | |
| */ | |
| // 1. Изменение текста в Карточке товара | |
| add_filter( 'woocommerce_product_single_add_to_cart_text', 'tb_universal_single_product_text', 20, 1 ); | |
| function tb_universal_single_product_text( $text ) { | |
| global $product; | |
| // Подстраховка | |
| if ( ! is_object( $product ) || ! method_exists( $product, 'get_type' ) ) { | |
| return $text; | |
| } | |
| // --- КАРТОЧКА ТОВАРА --- | |
| switch ( $product->get_type() ) { | |
| // Для вариативного товара (текст кнопки после выбора атрибутов) | |
| case 'variable': | |
| return __( 'Записаться на выбранный курс', 'techbear-custom' ); | |
| break; | |
| // Для внешнего/партнерского товара (если не задан в админке вручную) | |
| case 'external': | |
| return __( 'Перейти на сайт партнера', 'techbear-custom' ); | |
| break; | |
| // Для простого товара и всех остальных по умолчанию | |
| case 'simple': | |
| default: | |
| return __( 'Записаться на курс', 'techbear-custom' ); | |
| break; | |
| } | |
| } | |
| // 2. Изменение текста в Архивах (Магазин, категории, апселы) | |
| add_filter( 'woocommerce_product_add_to_cart_text', 'tb_universal_catalog_product_text', 20, 0 ); | |
| function tb_universal_catalog_product_text() { | |
| global $product; | |
| // Подстраховка | |
| if ( ! is_object( $product ) || ! method_exists( $product, 'get_type' ) ) { | |
| return __( 'Подробнее', 'woocommerce' ); | |
| } | |
| // --- АРХИВЫ --- | |
| switch ( $product->get_type() ) { | |
| // Вариативный товар (кнопка "Выбрать параметры" по умолчанию) | |
| case 'variable': | |
| return __( 'Выбрать курс', 'techbear-custom' ); | |
| break; | |
| // Сгруппированный товар (несколько товаров в одном) | |
| case 'grouped': | |
| return __( 'Посмотреть варианты', 'techbear-custom' ); | |
| break; | |
| // Внешний / Партнерский товар (ссылка на другой сайт) | |
| case 'external': | |
| return __( 'Купить у партнера', 'techbear-custom' ); | |
| break; | |
| // Простой товар в каталоге | |
| case 'simple': | |
| default: | |
| return __( 'Записаться', 'techbear-custom' ); | |
| break; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment