We are having this problem as well, also in WordPress 4.9.2. We have discovered that the issue arises because permissions get corrupted. According to SiteGround, our host, these permissions in particular are problematic:
- ./wp-content/uploads/civicrm/templates_c/en_US/%%31/313
- ./wp-content/uploads/civicrm/templates_c/en_US/%%D6/D67
We don't know what is causing permissions to break in the first place. For example, yesterday, we sent out three emails with trackable links within 1 hour. The first two worked perfectly. The last one didn't work - 'public_html' inserted into all the links.
Our solution has been to create a cron job in cPanel to reset permissions every 5 minutes.