Изменить ссылку на продукт на страницах архивов для определенной категории продуктов в WooCommerce [закрыто]
Я хотел бы изменить ссылку на товар на странице магазина, используя веб-крючки woocommerce для определенной категории товаров.
Я знаю, как удалить ссылку на товар с помощью крючка woocommerce_before_shop_loop_item
, но я хотел бы изменить ссылку на товар на странице магазина для определенной категории.
Любая помощь будет оценена по достоинству.
3
Author: Mohsen Jalalian, 2018-01-18
1 answers
Обновлено: Приведенные ниже функции заменят ссылку на товар и добавят ссылку в корзину пользовательской на страницах магазина и архивов для определенной категории товаров.
Вам нужно будет определить пользовательскую ссылку для замены и категорию продукта 2 раза для каждого в этом коде:
add_action( 'woocommerce_before_shop_loop_item', 'customizing_loop_product_link_open', 9 );
function customizing_loop_product_link_open() {
global $product;
// HERE BELOW, replace clothing' with your product category (can be an ID, a slug or a name)
if( has_term( array('clothing'), 'product_cat' )){
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
add_action( 'woocommerce_before_shop_loop_item', 'custom_link_for_product_category', 10 );
}
}
function custom_link_for_product_category() {
global $product;
// HERE BELOW, Define the Link to be replaced
$link = $product->get_permalink();
echo '<a href="' . $link . '" class="woocommerce-LoopProduct-link">';
}
// Changing the link on the button add to cart in Shop and archives pages
add_filter( 'woocommerce_loop_add_to_cart_link', 'change_loop_add_to_cart_button_link', 10, 2 );
function change_loop_add_to_cart_button_link( $button, $product ) {
// HERE BELOW, replace 'clothing' with your product category (can be an ID, a slug or a name)
if( has_term( array('clothing'), 'product_cat', $product->get_id() ) ){
// HERE BELOW, Define the Link to be replaced
$link = $product->get_permalink();
$button_text = __( "View product", "woocommerce" );
$button = '<a class="button add_to_cart_button" href="' . . '">' . $button_text . '</a>';
}
return $button;
}
Вводится код function.php файл активной дочерней темы (или активной темы).
Протестировано и работает
2
Author: LoicTheAztec, 2018-01-19 16:07:38