Avisos
Vaciar todo

Eliminar fichas de producto  

Página 2 / 2
 
Alba
 Alba
Reputable Member

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

Citar
Respondido : 30/11/2021 10:28 pm
Bruno
 Bruno
Soporte CMS Webempresa 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!

ResponderCitar
Respondido : 10/12/2021 12:06 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Pepe
 Pepe
Soporte CMS Webempresa 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

ResponderCitar
Respondido : 10/12/2021 3:28 pm
Alba
 Alba
Reputable Member

@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.

 

 

ResponderCitar
Respondido : 13/12/2021 12:20 am

Cursos Gratuitos WordPress

Pepe
 Pepe
Soporte CMS Webempresa 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

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