How can I change the preview URL in Wordpress?

When creating a post in Wordpress, there is a Preview button which takes you to the draft view. Because I have a custom integration of Wordpress and don't use a theme, I would like to change the URL of the preview link. Is this possible? How?

Regarding the custom implementation, Wordpress posts are integrated in another framework. I do this by setting WP_USE_THEMES to false, loading wp-config.php and directly accessing the posts using WP_Query(). This means I am bypassing any Wordpress theme that is set.


You can do something like this, add to functions.php

add_filter( 'preview_post_link', 'the_preview_fix' );

function the_preview_fix() {
    $slug = basename(get_permalink());
    return "http://www.mywebsite.com/blog/p/$slug";

More info HERE and HERE.

  • How do you deploy one of these? – Robert Moskal Apr 18 '19 at 18:33
  • What do you mean? – RiddleMeThis Apr 18 '19 at 19:16
  • 1
    Through the above code we can surly update the URL/permalink of the Preview Changes button, but this new link can't hold the temporary changes for the current page/post. The default preview links has preview id and nonce value to hold the temporary changes for the page/post but if we are updating the structure, so the new structure are not able to hold the temporary changes for the pages/post. Looking for solution to keep changes as well for the pages/post like default preview link. – Rkg Feb 20 '20 at 10:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.