Home / eCommerce / Force “Become a Vendor” to always go to /my-account/become-a-vendor/
Duplicate Snippet

Embed Snippet on Your Site

Force “Become a Vendor” to always go to /my-account/become-a-vendor/

Code Preview
php
<?php
/**
 * Force "Become a Vendor" to always go to
 * /my-account/become-a-vendor/
 * 
 * Applies to BOTH Free and Pro versions.
 * Only affects users who are NOT vendor or pending-vendor.
 */
function custom_become_vendor_url_override( $url, $endpoint, $value, $permalink ) {
	// Only target the become-a-vendor endpoint
	if ( 'become-a-vendor' !== $endpoint ) {
		return $url;
	}
	// Only for logged-in users
	if ( ! is_user_logged_in() ) {
		return $url;
	}
	$user       = wp_get_current_user();
	$user_roles = (array) $user->roles;
	// If user is vendor or pending vendor, keep default behavior
	if ( in_array( 'vendor', $user_roles, true ) || 
	     in_array( 'pending-vendor', $user_roles, true ) ) {
		return $url;
	}
	// FORCE redirect (even if Pro is active)
	return home_url( '/my-account/become-a-vendor/' );
}
add_filter( 'wcvendors_become_a_vendor_override', 'custom_become_vendor_url_override', 999, 4 );

Comments

Add a Comment