I tend to develop sites in a subdirectory, and I tend to use a fair amount of custom links in my menu ( the “Custom Links” option in the WP admin Appearance > Menus section) to display archive pages.
I am constantly annoyed at the fact that a relative link entered there will not take the subdirectory into account. For example, I have WP is installed in domain.com/dev.
I put a custom link “/events” in the menu, but it returns domain.com/events, which is 404, instead of properly returning domain.com/dev/events.
How can I change this behavior?
/events
is not a relative link, it’s an absolute link. The beginning slash forces it to the root of the domain. Of course, a relative link likeevents
will be relative to the current page, so if you’re on a page like thisdomain.com/dev/something/
it’ll bedomain.com/dev/something/events
.If you’re developing a WP site that will eventually live at the root of the domain, I suggest you rethink your development process. Build the site on localhost or a subdomain, so that when you move you don’t have to repoint links, just migrate, fix the DB, and go.