With that code, it does save my Merchant Posts and the [wpv-post-link] for Merchant post short code does work with no problem. However, I have just realized that this code is causing a problem for my Coupon list in my Merchant posts. (I had done a content template for my Merchant posts with a Coupon view which lists all the child coupons of the parent Merchant)
Now, it does list the coupon details with the title of the parent Merchant (instead of the title of the coupon), but with the correct link to the coupon page.
I see you are testing it in a local environment, so I think will not possible to provide access, but any way the private area is enabled if you can.
Please help me to understand what you want to achieve. You want to use some custom field instead of the default title once you are saving a post, but is it only for some post type? Please explain a bit more and show me the structure of your site.