Envíos Frontend tiene una serie de características que se pueden usar mediante programación.
Convertir a un usuario en Vendedor
Envíos Frontend tiene una función auxiliar llamada make_user_vendor() que hace dos cosas a la vez:
- convierte a un usuario en vendedor
- cambia el estado de ese nuevo vendedor a Aprobado
EDD_FES()->vendors->make_user_vendor( $user_id );
Importante: el parámetro ID utilizado anteriormente es el ID de usuario de WordPress.
Cambiar el estado de un Vendedor
Hay tres estados que un Vendedor puede tener:
- Aprobado
- Pendiente
- Suspendido
También hay dos acciones que se pueden tomar:
- Reactivar
- Revocar
Todas estas utilizan el mismo método, pero los estados y las acciones son cosas diferentes. Así es como funciona.
Primero, debes instanciar un objeto de Envíos Frontend como uno de estos:
// Example showing required input $vendor = new FES_Vendor( $_id_or_email = false, $by_user_id = false );
// using a vendor ID $vendor = new FES_Vendor( 14, false ); // using the email address associated with the vendor ID $vendor = new FES_Vendor( '[email protected]', true );
En segundo lugar, ejecuta el método change_status() en ese objeto, similar a uno de estos ejemplos:
// Example showing required input $vendor->change_status( $new_status = '', $in_admin = false, $output = false );
La entrada $in_admin te permite declarar si esta acción debe permitirse en el contexto del área de administración o fuera de ella. Es posible que desees permitir este cambio dentro del área de administración, pero no fuera de ella, por ejemplo.
// Set a vendor to approved, inside the admin area, with no output $vendor->change_status( 'approved' ); // Set a vendor to pending, outside the admin area, with no output $vendor->change_status( 'pending', true ); // Set a vendor to suspended, outside the admin area, with no output $vendor->change_status( 'suspended', true, true );
Además de los cambios de estado anteriores, puedes ejecutar estas acciones:
// Revoke a vendor, inside the admin area, with no output. // This will effectively make a user NOT a vendor, and remove all their products. $vendor->change_status( 'revoke' ); // Changes a user from suspended to approved. At this point identical to setting // a user to approved, but in the future may contain some additional features. $vendor->change_status( 'unsuspend' );
