• oker

    (@oker)


    Hola !

    Estoy empezando en esto de woocommerce y me estoy encontrado un problema , a la hora de crear atributos globales , no veo problema cuando estos tiene un solo nombre ej: color , pero sin embargo cuando los atributos les asigno nombres compuestos me veo obligado a introducir el nombre sin espacios , es decir usando una barra baja , ej: ancho_tejido , este texto se muestra en la casilla de información adicional y la verdad no queda muy estético , he pensado en usar css para renombrarlos , pero creo que vas ser un problema el día que le entregue la web a mi cliente.

    Todo esto viene porque a la hora de importar productos con el pluging de woocommerce csv import suite , me indica que los atributos globales no puede llevar espacios.

    ¿ Alguna sugerencia ?

    Saludos !!!

Viendo 1 respuesta (de un total de 1)
  • Iniciador del debate oker

    (@oker)

    Bueno me autocontesto por si a alguien le es de utildad

    Lo he podido resolver con un poco de código , pero os explico un poco el problema que he detectado

    A la hora de crear atributos globales con nombres compuestos woocommerce para que funcione bien a la hora de importar desde un csv , el nombre no puede tener espacios , por ejemplo queremos crear un atributo que se llame ancho tejido ,lo ideal seria que el nombre no llevase espacios así este se mostraria de manera estética en la casilla información adicional , pero por desgracia de esta manera no funcionaria , para que funcione el nombre del atributo debe escribirse con guiones medios , ej: ancho-tejido , he descubierto que el uso de barra baja (_) da problemas es decir si lo escribes de esta manera ( ancho_tejido ) . Os comento esto ultimo porque con un filtro he conseguido renombrar los atributos para que se muestren sin espacios , pero si uso como separador del nombre la barra baja ( _ ) en lugar de guión medio ( – ) , no funciona.

    add_filter( ‘woocommerce_attribute_label’, ‘rename_color_attribute_label’, 10, 3);

    function rename_color_attribute_label($label, $name, $product){
    if(strtolower($label)==’unidad-de-venta’){
    $label = ‘Unidad de venta’;
    }
    return $label;
    }

    De esta manera se cambia el nombre que muestra en el front end mientras deja intactos los nombres en el backed.

    Si alguien conoce una forma mejor de solucionar esto ,toda ayuda o aclaración es bienvenida.

Viendo 1 respuesta (de un total de 1)
  • El debate ‘Poner nombres compuestos a los atributos de woocommerce con espacios’ está cerrado a nuevas respuestas.