Как заменить кнопку «Добавить в корзину» на «Посмотреть товар», связанную со страницами товаров и категорий магазина WooCommerce?

В прошлой заметке, мы рассматривали вариант создания партнерского магазина под оферы Admitad или подобную партнерку, где настраивали открытие ссылки в партнерской карточке товара WooCommerce на WordPress в новой вкладке (окне). Сегодня, разберем доработку торговой витрины под партнерские товары.

Используя WooCommerce на WordPress, есть следующие проблемы:

  1. Товары отображаются на главной странице магазина и на страницах категорий товара вместе с их ценой и кнопкой «Добавить в корзину».
  2. Кнопка «Добавить в корзину» перенаправляет на страницу корзины, или открывает ссылку на партнерский товар (в том же окне), если мы использовали скрипт из прошлой заметки. Важно заметить, что скрипт позволяет открывать партнерский товар в новом окне, только для карточек товара.
  3. При щелчке по изображению каждого продукта, происходит перенаправление на страницу / карточку продукта / товара.

Задача:

  1. Сделать так, чтобы покупатели могли прочитать описание товара, прежде чем добавлять его в корзину или перейти к покупке на партнерский магазин по ссылке.
  2. Уменьшить количество отказов (когда посетитель сразу покидает сайт) для партнерских витрин.

Решение:

Заменить кнопку «Добавить в корзину» на «Посмотреть товар», чтобы перенаправить с домашней страницы / категории товара на страницу каждого продукта / карточку товара, где появится кнопка «Добавить в корзину» или кнопка с партнерской ссылкой. Отображаться это, будет примерно так:

При щелчке по кнопке «Посмотреть товар», пользователь откроет в этом же окне карточку товара с описанием.

Для решения данной задачи, есть готовый код, который нужно будет добавить в файл functions.php своей темы (основной или дочерней). Ниже, рассмотрим подробнее данный код.

Если нет времени разбираться во всем самостоятельно, или понимаете, что не справитесь сами, найдите специалиста, который поможет вам решить вопрос. Защищенные сделки и доступные цены.

Как заменить кнопку «Добавить в корзину» на «Посмотреть товар», связанную со страницей товара магазина WooCommerce и в категориях товара на WordPress?

Добавляем код в файл functions.php своей темы (основной или дочерней):

add_filter( 'woocommerce_loop_add_to_cart_link', 'replacing_add_to_cart_button', 10, 2 );
function replacing_add_to_cart_button( $button, $product  ) {
    $button_text = __("View product", "woocommerce");
    $button = '<a class="button" href="' . $product->get_permalink() . '">' . $button_text . '</a>';

    return $button;
}

Добавить данный код в файл functions.php, можно при помощи правки файла в «Редактор тем» или посредством плагина Code Snippets. О том, как это сделать, описано в предыдущей заметке. Вам нужно только использовать вышеприведенный код и один из способов.

Заключение.

Способ прост и рабочий. Актуальное решение как для полноценных Интернет-магазинов, так и для партнерских товарных витрин. В последнем случае, при нажатии на кнопку «Посмотреть товар», пользователь не покинет ваш сайт перейдя по ссылке на партнерский ресурс, а останется на вашем сайте и после подробным ознакомлением с товаром, примет решение. Это может положительно повлиять на уменьшение количество отказов (когда пользователь сразу покидает сайт, после его открытия), что положительно скажется на SEO. Более того, данное решение, может повысится и качество кликов по партнерским ссылкам, что позволит получать вам прибыльные клики только от тех пользователей, которые готовы уже к покупке. Более того, это очистит статистику в партнерской сети, где могут быть клики и отсутствуют целевые действия.

Если вы знаете другие рабочие способы, делитесь ими в комментариях. Ваша информация, может быть полезной и другим пользователям. Заранее, спасибо и успехов.

Добавлено 06.10.2022

В комментариях, пользователь написал, что у него не работает способ из данной заметки. Похоже, когда добавлял в статью, допустил ошибку в размещении кода. Моя вина, извиняюсь. Спасибо, что пишите в комментариях. Поправил код. Перепроверил, должно все корректно работать. Отпишитесь, если будет проблема. Ваши комментарии, помогают также другим пользователям.

12 Комментарии

  1. К сожалению, у меня не сработал данный код. Кнопка выводится в футере сайта

    ОтветитьУдалить
    Ответы
    1. Здравствуйте, Yulia. Вы добавляли код прямо в файл footer.php своей темы (через Редактор тем)?

      Попробуйте воспользоваться способом (Способ 2) из данной заметки: https://pc103help.blogspot.com/2021/11/kak-sdelat-opisanie-kategorij-woocommerce-na-wordpress-vnizu-pod-tovarami.html
      При помощи плагина Code Snippets, выбрав в настройках «Сниппеты» и добавив нужный код.

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

      Удалить
    2. Да, добавляла через редактор тем. При вставке этого когда через плагин выходит ошибка:

      Спиппет кода, который вы пытались сохранить вызвал фатальную ошибку в строке 1:

      syntax error, unexpected end of file

      Удалить
  2. Здравствуйте, Yulia. Похоже, ошибка в размещенном коде была допущена мною. Виноват. Когда добавлял статью изначально, не заметил, что добавленный код был форматирован после размещения автоматически. Поправил код сейчас в заметке. Проверьте, пожалуйста и отпишитесь по результатам. Заранее, спасибо.

    ОтветитьУдалить
    Ответы
    1. Огромное спасибо! Теперь все работает, ура!!!

      Удалить
  3. Отлично. Спасибо, что отписались. Успехов.

    ОтветитьУдалить
  4. Все супер, было полезно, спасибо! Только этот сниппет надо добавлять не в footer.php!
    Для внесения изменений в функционал темы есть соответствующий файл functions.php
    Успехов!

    ОтветитьУдалить
  5. А как в карточке товара поменять URL у всех товаров? Я хочу, чтобы перебрасывало в Телеграм а не в корзину. - https://skr.sh/sMda96gM9Gf (название кнопки я изменил)
    Я узнал, что можно в настройках товара WooCommerce выбрать "партнёрский товар" и добавить свою ссылку.
    Но если товаров тысяча, очень трудоёмко менять у каждого товара URL.
    Есть способ прописать год, чтобы изменился URL во всех карточках товаров на свой, например Телеграм?

    ОтветитьУдалить
    Ответы
    1. Здравствуйте, Александр. По поводу массового редактирования / изменения ссылок на партнерских товарах. Насколько понимаю, это делается через phpMyAdmin при помощи запроса. Но, увы, со своей стороны, не могу подсказать, как это правильно сделать.

      Как вариант, попробуйте капнуть в сторону плагинов, которые предоставляют массовое редактирование товаров. Что-то наподобие WooCommerce Bulk Edit Coupons — WP Sheet Editor (https://ru.wordpress.org/plugins/woo-coupons-bulk-editor/).

      Удалить
    2. Александр, нет возможности проверить, но, нашел на англоязычном форуме следующее:

      Установить плагин "Better Search Replace" (https://wordpress.org/plugins/better-search-replace/).

      Перейдите в раздел "Инструменты" > "Better Search Replace".

      В поле "Search for" введите старую ссылку, которую вы хотите заменить.

      В поле "Replace with" введите новую ссылку, которую вы хотите установить.

      Выберите таблицы, в которых вы хотите выполнить замену. В большинстве случаев это будет таблица "wp_postmeta".

      Поставьте флажок "Run as dry run?" для предварительного просмотра замен, чтобы удостовериться, что замены будут выполнены верно.

      Нажмите кнопку "Run Search/Replace" для выполнения замен.

      Но, это лучше делать не на живом сайте, а на тестовом сайте. Или, иметь резервную копию основного сайта и БД (базы данных), так как плагин работает посредством внесения изменений через phpMyAdmin. В случае ошибок или непонятных результатов, чтобы потом основной сайт вообще не лег.

      Пожалуйста, не пренебрегайте резервными копиями. И повторюсь, у меня сейчас нет возможности проверить данный способ на корректность. Это, скорее как идея и пробный способ.

      Удалить
Новые Старые