| > just discovered the 'guid' column on the posts table is hardcoded as the URL of the post It comes up every so often. The WordPress devs are well aware of the platform's warts & WTFs. People have talked for a while about replacing it with a proper UUID, but there are way too many themes & plugins that use the guid field to get the post's URL instead of calling, say, get_permalink( $post_id ). So now the devs are stuck. You can deprecate "guid", but you can't get rid of it. You can't replace the URL with a UUID because of backwards compatibility with third-party code. Do you add a "uuid" column? Now you have a guid column & a uuid column and people are going to get even more confused. Right now, content staging is a bit of an edge case and folks who need it are able to store a UUID in a post_meta field. So it's not a really critical issue. But it would definitely be nice to see a proper UUID in core. Some relevant Trac tickets: Guids No Longer Have Permalink Format (discusses changing the format)
https://core.trac.wordpress.org/ticket/6492 Non-URL GUIDs are stripped on post update
https://core.trac.wordpress.org/ticket/18395 |