Los usuarios de la web tienen asignado un ROL, esto lo hago desde el plugin WPFront User Role Editor
este plugin me añade debajo de cada producto lo que veis en la imagen
para que pueda poner el precio normal y el precio con descuento para el rol Tienda 1 y Tienda 2
El problema es que quiero modificar masivamente esos precios y al descargar el CSV desde productos / Exportar estos datos no aparecen
alguna idea de donde pueden estar?
estoy exportando así
URL del sitio: Contenido solo visible a usuarios registrados
Hola Ricardo,
Al ser un plugin que no guarda relación directa con WooCommerce, aunque implemente funcionalidades de precios para este carrito, es normal que WooCommerce no contemple estos campos en las opciones de Importar/Exportas a XML/CSV.
Desconozco si este plugin tiene dicha funcionalidad o si el autor del mismo lo ha contemplado en el código. No obstante siempre podrás exportar un CSV de tu WordPress, desde Herramientas, y luego en Excel montarte una hoja con los campos y delimitadores correspondientes para que después puedas hacer esa importación de precios (o lo que corresponda) de forma masiva.
Desconozco cuantos productos son los afectados, pero en ocasiones es mayor trabajo hacer un CSV y una importación (que puede fallar por muchas partes y afectar a la Tienda en producción y a los precios actuales y campos de Productos, siendo más recomendable aplicar manualmente los cambios de precios, por muchos productos que sean y con ello garantizarte que no habrá errores en el proceso.
Saludos
un a uno es imposible ya que son más de 3000 artículos
desde archivos exportar he descargado un XML y he encontrado esta linea
en un producto que tenía para el rol TIENDA1 precio normal 999 y precio rebajado 666
y para el mismo producto como rol TIENDA 2 precio normal 888 y precio rebajado 777
y aquí ya me pierdo, porque aunque cree un excel con estas 5 columnas
SKU para saber a qué producto corresponde
TIENDA 1 precio normal
TIENDA 1 precio rebajado
TIENDA 2 precio normal
TIENDA 2 precio rebajado
luego al importarlo, no se a que columna corresponde cada linea
para la linea del SKU si se que poniendo SKU la detecta
pero las otras han de ser Meta:??????
Hola Ricardo,
Es necesario ver una captura de los campos que el importado que estás usando te muestra como sustitutivos.
Supongo que no te permite customizar campos para importar ¿que plugin de Importar estás usando? (hay muchos) 😉
Saludos
exporto e importo desde productos, creo que ya venía y no es ningún plugin que yo haya instalado
te adjunto 3 pantallazos de las opciones que me da y verás que en ninguna aparecen esos campos
lo que está claro que en los 2 o 3 productos que lo he puesto a mano funciona perfectamente apareciendo el precio correcto según el rol del usuario, por lo que esos datos están guardado en alguna parte
falta saber donde para poder editarlos
he mirado dentro de la carpeta del plugin y no veo nada y necesito para esta semana que los roles TIENDA1 y TIENDA2 vean los precios correctamente.
Gracias
Hola.
Con las opciones de exportar que tiene woocommerce por defecto no podrás exportar por roles.
Tienes el siguiente plugin:
-> https://wordpress.org/plugins/woocommerce-exporter/
En su versión premiun si que permite exportar por roles, lo que no te se decir si es compatible con WPFront
Un saludo
he encontrado la manera de hacerlo por código insertando esto dentro de functions.php
// Aplica un precio especial dependiento del tipo de usuario add_filter( 'woocommerce_get_price', 'aplica_precio_especial', 10, 2); function aplica_precio_especial( $price, $product ) { if (!is_user_logged_in()) return $price; // Listado de productos con precio especial $product_list = array(); // % Descuento a aplicar $discount = 50; // Comprueba si el producto actual pertenece a la lista if( in_array( $product->id, $product_list ) || empty( $product_list ) ) { // Comprueba si el usuario tiene precio especial if( usuario_con_precio_especial( 'tienda1' ) ){ $price = $price * ( 100 - $discount ) / 100; } } return $price; } function usuario_con_precio_especial( $role = '',$user_id = null ){ if( is_numeric( $user_id ) ){ $user = get_user_by( 'id', $user_id ); }else{ $user = wp_get_current_user(); } if( empty( $user ) ){ return false; } return in_array( $role, (array) $user->roles ); }
El problema es que esto me hace un 50% de DTO al ROL tienda1 y necesito otros descuentos para otros roles
He intentado cambiar el código donde pone tienda1 poner tienda 2 y donde pone 50 poner otro descuento y la web deja de funcionar porque se repiten funciones
Podrias decirme el codigo correcto para asignar 3 descuentos a 3 roles?
Gracias
Hola
En la primera parte del código podrías probar agregando más condiciones
function aplica_precio_especial( $price, $product ) { if (!is_user_logged_in()) return $price; // Listado de productos con precio especial $product_list = array(); // % Descuento a aplicar $discount = 50; // Comprueba si el producto actual pertenece a la lista if( in_array( $product->id, $product_list ) || empty( $product_list ) ) { // Comprueba si el usuario tiene precio especial if( usuario_con_precio_especial( 'tienda1' ) ){ $discount = 50; $price = $price * ( 100 - $discount ) / 100; } // Comprueba si el usuario tiene precio especial if( usuario_con_precio_especial( 'tienda2' ) ){ $discount = 30; $price = $price * ( 100 - $discount ) / 100; } } return $price; }
He agregado para tiend2, puedes repetir de manera similar para tienda3, etc.
Ten en cuenta que estoy agregando el descuento dentro de cada condición ya que este varía
Saludos.