Añade este código al Functions.php y enlaza desde las imágenes y títulos de los productos externos de Woocommerce a tus enlaces de afiliado. Presta atención que lo que hace es crear una redirección. Así que de entrada no lo verás pero al pulsar te llevará al enlace de afiliado externo.
add_action( 'template_redirect', 'redirect_external_products' );
function redirect_external_products() {
global $post;
if ( is_singular( 'product' ) && ! empty( $post ) && ( $product = wc_get_product( $post ) ) && $product->is_type( 'external' ) ) {
wp_redirect( $product->get_product_url() );
exit;
}
}
function custom_woocommerce_template_loop_product_link_open() {
echo '<a href="' . get_the_permalink() . '" rel="nofollow">';
}
Abre los enlaces de afiliado en una nueva pestaña
Añade este código al Functions.php y convierte los enlaces de productos externos de Woocommerce para que se abran en una nueva pestaña. Añade el ‘<a target=»_blank» href=»…’
add_action( 'template_redirect', 'redirect_external_products' );
function redirect_external_products() {
global $post;
if ( is_singular( 'product' ) && ! empty( $post ) && ( $product = wc_get_product( $post ) ) && $product->is_type( 'external' ) ) {
wp_redirect( $product->get_product_url() );
exit;
}
}
function custom_woocommerce_template_loop_product_link_open() {
echo '<a target="_blank" href="' . get_the_permalink() . '" rel="nofollow">';
}
Mejor alternativa funcional
En esta ocasión sustituye el enlace de producto de woocommerce por el enlace externo indicado en la ficha de producto, en mi opinión la mejor forma de hacerlo. Copia y pega en el functions.php
function mi_enlace_externo_vitaminado( $permalink, $post ){
if( $post->post_type == 'product' ){
$product = wc_get_product( $post );
if( $product->get_type() == 'external' ){
$permalink = $product->add_to_cart_url();
}
}
return $permalink;
}
add_filter( 'post_type_link', 'mi_enlace_externo_vitaminado', 99, 2);
Un código muy útil y difícil de encontrar para todos los nicheros 😉