Попробуйте в полное описание товара добавить:
PARTNER_PRODUCT(https://ru.wordpress.org/support/)
и фильтры
add_filter( 'woocommerce_loop_product_link', 'product_partner_link', 15 );
add_filter( 'woocommerce_product_add_to_cart_url', 'product_partner_link', 15 );
function product_partner_link( $input ){
global $product;
$description = $product->description;
$check = preg_match('/PARTNER_PRODUCT\((.+?)\)/', $description, $matches);
if( $check ){
// echo $matches[1];
return $matches[1];
}
else{
return $input;
}
}
-
Ответ изменён 5 лет назад пользователем dallynx.
Не работает, к сожалению. Переходит на страницу товара, если кликнуть по названию или изображению товара в каталоге.
Не работает, к сожалению.
А фильтры в code snippets вставляете?
Вставлял в function.php. Про code snippets впервые услышал. Спасибо, попробую.
Зачем вам тогда WC?
Описание товара посетитель может посмотреть на сайте продавца. Не вижу смысла его дублировать.
Описание товара посетитель может посмотреть на сайте продавца. Не вижу смысла его дублировать.
Так и я не вижу смысла. Вообще не вижу смысла в использовании WooCommerce, если вам нужна только галерея картинок, название и кнопка с внешней ссылкой.
Так и я не вижу смысла.
поддержу
Смысл в фильтре. Картинки по цене и характеристикам не отфильтровать, увы.
Не работает, к сожалению.
А фильтры в code snippets вставляете?
Работает по нажатию на кнопку «купить товар». Если кликнуть по изображению или названию, то все равно осуществляется переход на карточку товара. В любом случае благодарю за помощь.
Попробуйте такой вариант
add_filter( 'woocommerce_loop_product_link' , 'partner_product_link' , 20000 );
add_filter( 'woocommerce_product_add_to_cart_url' , 'partner_product_link' , 20000 );
function partner_product_link( $input ){
global $product;
if( ( $product->get_type() ) === 'external' ){
return $product->get_product_url();
}
else{
return $input;
}
}