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

Как перенести артикул товара SKU под название товара

Stork.71

Гуру
Местный
Идем в \wp-content\plugins\woocommerce\templates\single-product\meta.php
Находим и вырезаем конструкцию
PHP:
    <?php if ( wc_product_sku_enabled() && ( $product->get_sku() || $product->is_type( 'variable' ) ) ) : ?>

        <span class="sku_wrapper"><?php _e( 'SKU:', 'woocommerce' ); ?> <span class="sku" itemprop="sku"><?php echo ( $sku = $product->get_sku() ) ? $sku : __( 'N/A', 'woocommerce' ); ?></span>.</span>

    <?php endif; ?>
Идем в \wp-content\plugins\woocommerce\templates\single-product\title.php
Вставляем вырезанную нами конструкцию в конец файла. По необходимости добавляем всякую разметку (жирненько, крупненько и т.д.

Чтобы правки не потерялись при обнове, копируем подправленные файлы в тему.
Вариант не самый лучший, может можно это сделать через functions.php через фильтры. Но я не умею :)
 
Идем в \wp-content\plugins\woocommerce\templates\single-product\meta.php
Находим и вырезаем конструкцию
PHP:
    <?php if ( wc_product_sku_enabled() && ( $product->get_sku() || $product->is_type( 'variable' ) ) ) : ?>

        <span class="sku_wrapper"><?php _e( 'SKU:', 'woocommerce' ); ?> <span class="sku" itemprop="sku"><?php echo ( $sku = $product->get_sku() ) ? $sku : __( 'N/A', 'woocommerce' ); ?></span>.</span>

    <?php endif; ?>
Идем в \wp-content\plugins\woocommerce\templates\single-product\title.php
Вставляем вырезанную нами конструкцию в конец файла. По необходимости добавляем всякую разметку (жирненько, крупненько и т.д.

Чтобы правки не потерялись при обнове, копируем подправленные файлы в тему.
Вариант не самый лучший, может можно это сделать через functions.php через фильтры. Но я не умею :)
Спасибо, попробую сегодня. а может кто знает как сделать через фанкшн?
 

redjek

Опытный
Местный
Спасибо, попробую сегодня. а может кто знает как сделать через фанкшн?
а зачем? просто создайте папку woocommerce и скопируйте туда файл \single-product\meta.php и не будете бояться что при обновлении плагина ваши шаманства слетят
 
  • Like
Реакции: D&B

evgen-merkush

Новичок
Тема старая, но-таки дополню... мало ли, кому может и пригодится
================
1,
У меня не сработало просто копировать-вставить приведенный выше код — на сайте после заголовка всё пропало

Поделюсь своим вариантом, который сработал:
-- Идем в папку ../wp-content/plugins/woocommerce/templates/single-product
-- Копируем оттуда файлы meta.php и title.php в ../wp-content/themes/ВАША ТЕМА/woocommerce/single-product (если нет папки single-product, то создаём её)
-- В скопируемом файле title.php в конце вставляем include ('meta.php');

2,
Есть еще вариант через function.php

add_action( 'woocommerce_single_product_summary', 'dev_designs_show_sku', 5 );
function dev_designs_show_sku(){
global $product;
echo 'SKU: ' . $product->get_sku();
}

НО... БОЛЬШОЕ НО... Если у вас вариативные товары и у каждой вариации свой Артикул, то второй способ (через function.php) не будет менять Артикулы при смене вариации, а вот первый отлично работает в этих условиях.
 

marr

Специалист
Местный
Если у вас вариативные товары и у каждой вариации свой Артикул, то второй способ (через function.php) не будет менять Артикулы при смене вариации
Будет. Но для вариаций надо подключать Ajax


Код:
if ( $product->is_type('variable') ) {
        ?>
        <script>
        jQuery(document).ready(function($) {
...
 
Сверху Снизу