WP поменять url в категории

NewJey
На сайте с 21.11.2009
Offline
113
149

Добрый день. Подскажите, как можно реализовать такое:
Стоит дополнение External Importer для импорта товаров для партнерки.
В категории если кликнуть на фото или название товара то переходит в карточку товара, а если кликнуть на кнопку Купить то переходит в карточку товара на сайт партнерки. Мне надо сделать что бы при клике на фото или название пользователь попадал сразу на сайт партнера по реферальной ссылке, а не в карточку товара.

На сколько я понимаю вот код который формирует ссылку на партнерку

do_action( 'woocommerce_before_add_to_cart_form' ); ?>

<form class="cart" action="<?php echo esc_url( $product_url ); ?>" method="get">
    <?php do_action( 'woocommerce_before_add_to_cart_button' ); ?>

    <button type="submit" class="single_add_to_cart_button button alt type-external"><?php echo esc_html( $button_text ); ?></button>

    <?php wc_query_string_form_fields( $product_url ); ?>

    <?php do_action( 'woocommerce_after_add_to_cart_button' ); ?>
</form>

<?php do_action( 'woocommerce_after_add_to_cart_form' ); ?>

Но не пойму как его сформировать что бы вставить в название

<div class="shop-item__title">
            <?php
            remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title' );
            do_action( 'woocommerce_shop_loop_item_title' );
            ?>
            <a href="<?php echo get_permalink() ?>"><?php echo get_the_title() ?></a>
        </div>


SeVlad
На сайте с 03.11.2008
Offline
1609
#1
NewJey :
Но не пойму как его сформировать что бы вставить в название

Вместо

get_permalink()

использовать

esc_url( $product_url )
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
NewJey
На сайте с 21.11.2009
Offline
113
#2
SeVlad #:

Вместо

использовать

Пробовал, но тогда при нажатии страница просто обновляется и ни куда не переходит(

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
NewJey #:
Пробовал, но тогда при нажатии страница просто обновляется и ни куда не переходит(

А посмотреть в исходном коде - не? Или неправильно вставляешь или что-то перебивает или..

А судя по данному тобой коду в

$product_url 

передаётся адрес партнёрской ссылки. Именно его и надо подложить под название записи.

NewJey
На сайте с 21.11.2009
Offline
113
#4
SeVlad #:

А посмотреть в исходном коде - не? Или неправильно вставляешь или что-то перебивает или..

А судя по данному тобой коду в

передаётся адрес партнёрской ссылки. Именно его и надо подложить под название записи.

Подставляю, но ничего не работает. Не пойму если честно в чем дело(

NewJey
На сайте с 21.11.2009
Offline
113
#5
Ссылка формируется таким образом site/out/817 где 817 - это id товара. Может тогда можно напрямую указать site/out/+id товара ? Будет такой способ работать? Если да, то как это правильно написать?
NewJey
На сайте с 21.11.2009
Offline
113
#6

Задал таким образом <?php echo 'https://site.com/out/', get_the_ID() ?>

Работает, только мне кажется что это не правильно)

SeVlad
На сайте с 03.11.2008
Offline
1609
#7
NewJey #:
Работает, только мне кажется что это не правильно)

Конечно неправильно. ID поста в ВП - вещь не стабильная и легко может помнятся при манипуляциями с контентом. Более того - он никак не зависит от внешнего товара. Разбирайся с $product_url

NewJey
На сайте с 21.11.2009
Offline
113
#8
SeVlad #:

Конечно неправильно. ID поста в ВП - вещь не стабильная и легко может помнятся при манипуляциями с контентом. Более того - он никак не зависит от внешнего товара. Разбирайся с $product_url

Спасибо. Это id товара в вукомерце, думаю стабильно должно быть). Не могу что-то найти как формируется эта переменная(

SeVlad
На сайте с 03.11.2008
Offline
1609
#9
NewJey #:
Это id товара в вукомерце, думаю стабильно должно быть). Не могу что-то найти как формируется эта переменная(
WC - это всё равно ВП. Стабильно будет ровно до тех пор пока не начнёшь переносить контент через экспорт-импорт. Или удалением-добавлением того же товара.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий