Hola @miguelappslaparra
Me temo que tendras que crear un plugin para:
1) Gestionar los dos tipos de clientes (normal/profesional) no te sugiero un plugin de roles porque podria liarse el WooCommerce.
2) Segun el tipo de cliente modificar el WooCommerce para mostrar un precio.
Por ejemplo crear dos campos en el producto para el precio y precio rebajado para asociarlo a los profesionales salvo que sepas que es por ejemplo un 10% menos para todos los productos y asi cuando lo consulte el WooCommerce cambiarlo por esos valores o le descuentas el porcentaje, obviamente el usuario debera tener un campo para diferenciarse entre normal y profesional.
Saludos y suerte
Iniciador del debate
miguelapps
(@miguelappslaparra)
Gracias @kallookoo , la teoria suena muy bien.
creo que aún debo estudiar mucho para conseguir eso.
Seguire buscando si encuentro un curso o tutorial para aprender a crear mis plugins.
Gracias
Hola @miguelappslaparra
Hacer un plugin es sencillo, tienes info aqui; https://developer.wordpress.org/plugins/ (En Ingles)
Necesitas un encabezado valido para que WordPress lo detecte y luego crear tu codigo, personalmente cuando son dos lineas uso functions dentro del archivo principal. Para algo mas complejos ya uso clases y una extructura asi:
plugin-name
– assets
— css
— js
– includes
— admin
— class-name.php
— class-name.php
– languages
– plugin-name.php
El problema que te encuentras al principio y despues tambien sinceramente son los hooks, ya que existen muchos para cada cosa tanto para el WordPress como el WooCommerce y no siempre funcionan como uno quiere, que normalmente es porque se declaran erroneamente o no es ese action or filter que tambien puede pasar.
Saludos y suerte
-
Esta respuesta fue modificada hace 1 año, 9 meses por kallookoo.
Iniciador del debate
miguelapps
(@miguelappslaparra)
Gracias de nuevo @kallookoo . me estas motivando a coger un camino que en principio no queria (php) pero que por necesidad estoy empezando a descubrí y me esta gustando.
Claro que esto llevara su tiempo, y ahora necesito crear estas funciones.
He visto plugin pero son Premium.
Un amigo me a echo una función con la que poder empezar, partiendo de un articulo que encontro:
function my_get_current_user_roles() {
if( is_user_logged_in() ) {
$user = wp_get_current_user();
$roles = ( array ) $user->roles;
return $roles; // This will returns an array
} else {
return array();
}
}
function custom_price_message( $price ) {
global $post;
$product_id = $post->ID;
$roles = my_get_current_user_roles();
$textafter = "";
if(!empty($roles)) {
if (in_array("TYPE_ROLE_1", $roles)) {
$textafter = 'TEXT_TYPE_ROLE_1'; //texto que vamos agregar
}
if (in_array("TYPE_ROLE_2", $roles)) {
$textafter = 'TEXT_TYPE_ROLE_2'; //texto que vamos agregar
}
}
return $price . '' . $textafter . ''; //class textafter para el
}
add_filter('woocommerce_get_price_html', 'custom_price_message');
-
Esta respuesta fue modificada hace 1 año, 9 meses por miguelapps.
Hola @miguelappslaparra
Ese codigo esta bien si quieres añadir algo despues del HTML del precio.
No modifica para nada el valor del precio.
Existen algunos filtros dinamicos como por ejemplo woocommerce_product_get_price
que devuelve el precio del producto actual (Sale Price or Regular Price)
Iniciador del debate
miguelapps
(@miguelappslaparra)
Claro, esta función es para modificar el prefijo que lleva el precio dependiendo del rool de usuario.
Creo que hemos encontrado un Plugin que podría valer para mis necesidades.
Estoy haciendo algunas pruebas, pronto te pido tu opinión @kallookoo a ver que me aconsejas
-
Esta respuesta fue modificada hace 1 año, 9 meses por miguelapps.
Hola.
En el repositorio tienes un plugin que creo que es justo lo que necesitas:
Product Prices by User Roles for WooCommerce
Por supuesto, dependiendo de tus necesidades es posible que tengas que usar la versión comercial, pero la que tienes en el repositorio te puede servir para hacer pruebas.
También tienes otro plugin, este comercial, en la tienda oficial de WooCommerce:
Role Based Pricing for WooCommerce
Quedamos pendientes también de tus pruebas, coméntanos los resultados. Recuerda marcar el debate como resuelto cuando así sea, de esta forma nos ayudas a mantener el foro al día.
Iniciador del debate
miguelapps
(@miguelappslaparra)
Gracias @jose64 .
He visto varios plugin premium que por ahora no tengo intención de utilizar.
Precios de productos por roles, no lo vi aún.
Déjame revisar y hos digo los resultado, unicamente estoy esperando si alguien daba más ideas. Pero ya hace dias que hice la pregunta y no recibo respuestas útiles. Déjame ver tu propuesta.
Gracias
Iniciador del debate
miguelapps
(@miguelappslaparra)
Buenas.
Pues revise el debate señor @jose64 , creo que podemos darle por cerrado.
Finalmente he encontrado algo que puedo servir para mi pretensiones.
Es un plugin gratuito con versión premium, con la que yo voy a funcionar por el momento.
Se llama Wholesale Suite – WooCommerce Wholesale.
Debo decir, que te crea un rool para mayoristas en que añadir un precio rebajado.
En este caso es precio fijo, en la versión Premium tienes funcionalidades para cambiar el precio en porcentaje, etc…
Tambien tuve que incluir una función para cambiar el texto detrás del precio dependiendo del rool del usuario.
Se la dejo por aqui
Gracias a los colaboradores que tuve, me motivaron en mi búsqueda.
Gracias @kallookoo y a @jose64 que siempre esta dispuesto
function my_get_current_user_roles() {
if( is_user_logged_in() ) {
$user = wp_get_current_user();
$roles = ( array ) $user->roles;
return $roles; // This will returns an array
} else {
return array();
}
}
function custom_price_message( $price ) {
global $post;
$product_id = $post->ID;
$roles = my_get_current_user_roles();
$textafter = "";
if(!empty($roles)) {
if (in_array("Wholesale Customer", $roles)) {
$textafter = 'P.V.M.'; //texto que vamos agregar
}
if (in_array("customer", $roles)) {
$textafter = 'P.V.P.'; //texto que vamos agregar
}
}
else{
$textafter = ' P.V.P.'; // Or whatever you want
}
return $price . '' . $textafter . ''; //class textafter para el
}
add_filter('woocommerce_get_price_html', 'custom_price_message');
-
Esta respuesta fue modificada hace 1 año, 9 meses por miguelapps.