You have a couple options. Both involve using the post ID because that doesn’t change.
-
You could use the ugly URL in the form of
http://www.example.com/?p=23
where?p=23
would be the ID of the post. -
You can use a shortcode that accepts the post ID and outputs a link using
get_permalink()
.
The following shortcode would be used like this.
[postlink id=23]Some link text goes here[/postlink]
And here is the function.
function postlink_id_to_slug( $atts, $content = null ) {
extract( shortcode_atts( array(
'id' => ''
), $atts ) );
if ( $id == '' || ! is_numeric( $id ) || $content == null) return false;
return '<a href="' . get_permalink( $id ) . '">' . $content . '</a>';
}
add_shortcode( 'postlink', 'postlink_id_to_slug' );
I should mention that there are a number of ways to find the ID of a post. One way is to open the post in the post editor and then find post=xx
in the URL in your browser’s address field where xx
is the numerical ID.
Just to know: this plugin does same thing in a more flexible manner.