The point of this was to be able to get a custom attribute every time an email was sent, and CC a local sales rep based on that custom code.
This was the final function to get the customer data
public function afterGetEmailCopyTo(OrderIdentity $identity, $emailList)
$customerEmail = $identity->getCustomerEmail();
$customer = $this-&...
The example you linked to looks to be using a customized version Configurable Swatches. See the Adobe document on how to set this up: https://docs.magento.com/user-guide/catalog/swatches.html
Swapping the URLs would require custom development to load those URL keys from the simple products and pass them to the front end. Then, use JS to swap out the URLs. It ...