WooCommerce: Как вы добавляете текст перед ценой и до цены продажи?

Мне удалось успешно получить текст, который будет отображаться до цены и до цены продажи, но текст считается частью цены, не отделенной от нее.

Размещение:

ins:before{ content: "Betty's price: "; color: #000; font-size: 14px; } 

в моем пользовательском файле CSS успешно ставится «цена Бетти:» перед новой «продажной» ценой. Проблема в том, что Betty's Price: теперь подчеркнута и доступна для кликов, а также ее часть той же ссылки, что и текст цены.

Я пытаюсь получить этот текст, вставленный перед ценой, и не буду частью цены. Я не хочу, чтобы этот текст также был отформатирован вместе с ценой.

Такая же ситуация относится и к первоначальной цене:

 del:before{ content: "Retail: "; color: #000; font-size: 14px; } тем del:before{ content: "Retail: "; color: #000; font-size: 14px; } 

PS : Я также надеюсь добавить новый символ линии в дополнение к битке «Бетти», чтобы эта линия могла пойти ниже розничной цены, если это что-то изменит.

Способ 1

У вас установлен плагин woocommerce. Чтобы перезаписать шаблоны страницы woocommerce, вам нужно создать папку «woocommerce» в папке вашей темы. Перейдите на «wp-content / plugins / templates» вашего веб-сайта и скопируйте файл content-product.php в «wp-content / themes / your-theme / woocommerce /». Если вы называете тему «mytheme», у вас будет этот путь: «wp-content / themes / mytheme / woocommerce / content-product.php».

Вы можете отредактировать файл content-product.php, как хотите. Этот файл отображает продукты на страницах категорий. Вы можете видеть, что ваш продукт отображается внутри <li>.

Сейчас контент-продукт.php выглядит так:

 <li <?php post_class( $classes ); ?>> <?php do_action( 'woocommerce_before_shop_loop_item' ); ?> <a href="<?php the_permalink(); ?>"> <?php /** * woocommerce_before_shop_loop_item_title hook * * @hooked woocommerce_show_product_loop_sale_flash - 10 * @hooked woocommerce_template_loop_product_thumbnail - 10 */ do_action( 'woocommerce_before_shop_loop_item_title' ); ?> <h3><?php the_title(); ?></h3> <?php /** * woocommerce_after_shop_loop_item_title hook * * @hooked woocommerce_template_loop_rating - 5 * @hooked woocommerce_template_loop_price - 10 */ do_action( 'woocommerce_after_shop_loop_item_title' ); ?> </a> <?php do_action( 'woocommerce_after_shop_loop_item' ); ?> </li> 

Вы можете видеть, что после названия включается эта функция: do_action ('woocommerce_after_shop_loop_item_title');

Эта функция определена в: plugins / woocommerce \ includes \ wc-template-hooks.php, поэтому мы ее не трогаем, я считаю ее основным файлом. Вы должны редактировать только файлы шаблонов, потому что, если будет обновление плагина, вы потеряете свои настройки.

Поэтому я предлагаю вам заменить указанный выше код следующим:

 <li <?php post_class( $classes ); ?>> <?php do_action( 'woocommerce_before_shop_loop_item' ); ?> <a href="<?php the_permalink(); ?>"> <?php /** * woocommerce_before_shop_loop_item_title hook * * @hooked woocommerce_show_product_loop_sale_flash - 10 * @hooked woocommerce_template_loop_product_thumbnail - 10 */ do_action( 'woocommerce_before_shop_loop_item_title' ); ?> <h3><?php the_title(); ?></h3> <span>Enter Your Text Here!</span> <?php /** * woocommerce_after_shop_loop_item_title hook * * @hooked woocommerce_template_loop_rating - 5 * @hooked woocommerce_template_loop_price - 10 */ do_action( 'woocommerce_after_shop_loop_item_title' ); ?> </a> <?php do_action( 'woocommerce_after_shop_loop_item' ); ?> </li> 

Вы можете видеть, что я добавил промежуток после названия. Вы можете добавить к этому классу класс или атрибут стиля, или вы можете изменить диапазон на div, чтобы изменить его по своему усмотрению. Но решение будет работать.

Способ 2

Если вы хотите добавить некоторые тексты / изображения после или до зоны Woocommerce, вам нужно добавить крючок. Прежде всего, вам нужно знать, как работают крючки, поэтому, пожалуйста, прочтите здесь действия и фильтры WordPress.

Теперь, когда вы знаете, как добавить действие или фильтр, читайте о крючках Woocommerce здесь .

Вам нужно будет создать фильтр в файле functions.php вашей темы, и там вы добавите текст до или после цены.

В следующий раз, когда у вас возникнет вопрос относительно WordPress CMS, отправьте его здесь: https://wordpress.stackexchange.com/