Avisos
Vaciar todo

Eliminar fichas de producto

19 Respuestas
4 Usuarios
0 Reactions
74 Visitas
 Alba
Respuestas: 288
Reputable Member
Topic starter
 

Hola!

Nos gustaría eliminar las fichas de producto de nuestra tienda de Woocommerce porque realmente no las necesitamos, es decir, no necesitamos esas "url" que se generan cada vez que subimos un producto ni la descripción con los atributos.

¿Cómo lo podríamos hacer?

Muchas gracias como siempre por vuestra ayuda!

 

 

Contenido solo visible a usuarios registrados


 
Respondido : 30/11/2021 10:28 pm
Bruno
Respuestas: 6468
Illustrious Member Moderator
 

Hola Alba,

Respondido por: @albamenasalvasgmail-com

¿Sería posible adaptarlo para lo que necesitamos ahora?

Que mal saber que no te han funcionado 🙁 sin embargo recuerda que para nosotros no es posible la adaptación ni creación de códigos a medida ya que no tenemos permitido el acceso a los sitios de los usuarios, teniendo esto en cuenta te planteo las opciones que puedes considerar

1-Remitir tu solicitud donde adapten el código a nuestros colaboradores como ya te he comentado en mensajes anteriores
2-Que hagas una consulta respecto a la funcionalidad que deseas directamente al soporte del tema que usas actualmente, al ser de pago tienes esa opción disponible

Lamentamos no poder orientarte mas en este tema, de igual manera quedamos atentos a tus comentarios

Saludos!


 
Respondido : 10/12/2021 12:06 am
Pepe
 Pepe
Respuestas: 41113
Illustrious Member Admin
 

Hola Alba.

Puedes probar a modificar " wp_redirect( $product->get_product_url()  " por lo siguiente " wp_redirect( $product->get_product_url() . ", '_blank' "

Le añadimos la etiqueta " blank " para que abra la URL en una nueva pestaña.

 

Un saludo


 
Respondido : 10/12/2021 3:28 pm
 Alba
Respuestas: 288
Reputable Member
Topic starter
 

@pepesoler Muy interesante tu respuesta. Muchas gracias por tu interés.

La etiqueta blank que comentas, ¿se añadiría de la siguiente forma?:

 

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() . ", '_blank' "
exit;
    }
}

 

Porque lo hemos incluido así pero rompe el sitio web. Parece que como si le faltara algo al código.

¿Qué puede ser?

Gracias de nuevo.

 

 


 
Respondido : 13/12/2021 12:20 am
Pepe
 Pepe
Respuestas: 41113
Illustrious Member Admin
 

Hola Alba.

Seria algo parecido a esto:

$link_target = $product->is_type( 'external' ) ? '_blank' : '_self';

Prueba el siguiente código:

add_filter( 'woocommerce_loop_product_link', 'filter_external_product_permalink', 10, 2 );

if ( ! function_exists( 'filter_external_product_permalink' ) ) {
/**
 * Insert the external url for products in the loop.
 */
function filter_external_product_permalink( $the_permalink, $product ){
    global $product;

    if( $product->is_type( 'external' ) ) {
        $external_link =  $product->get_product_url();
        return $external_link;
    }

    return $the_permalink;
}
}


if ( ! function_exists( 'woocommerce_template_loop_product_link_open' ) ) {
/**
 * Insert the opening anchor tag for products in the loop.
 */
function woocommerce_template_loop_product_link_open() {
    global $product;

    $link = apply_filters( 'woocommerce_loop_product_link', get_the_permalink(), $product );

    $link_target = $product->is_type( 'external' ) ? '_blank' : '_self';

    echo '<a target="' . esc_attr( $link_target ).'" href="' . esc_url( $link ) . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
}
}

add_filter( 'woocommerce_loop_add_to_cart_link', 'custom_external_add_product_link' , 10, 2 );

if ( ! function_exists( 'custom_external_add_product_link' ) ) {

function custom_external_add_product_link( $permalink ) {
    global $product;

    if ( $product->is_type( 'external' ) ) {

        $permalink = sprintf( '<a rel="nofollow ugc" href="%s" data-quantity="%s" data-product_id="%s" data-product_sku="%s" class="%s" target="_blank">%s</a>',
            esc_url( $product->add_to_cart_url() ),
            esc_attr( isset( $quantity ) ? $quantity : 1 ),
            esc_attr( $product->id ),
            esc_attr( $product->get_sku() ),
            esc_attr( isset( $class ) ? $class : 'button product_type_external add_to_cart_button' ),
            esc_html( $product->add_to_cart_text() )
        );
    }

    return $permalink;
}
}

 

 

Otra opción y la que seria la mas facil es con plugin:

-> https://wordpress.org/plugins/open-external-links-in-a-new-window/

 

Un saludo


 
Respondido : 13/12/2021 11:00 am
Página 2 / 2