私が使っているwordpressは、作成画面以外に関しては、すべて0から作成していますが、そこで気づいたのがプレビューのリンク先がデフォルトでうまく飛んでくれないこと。調べたら答えがあったので、まとめておきます。

テーマの中にあるfunction.phpで変更を行える

現在使っているテーマの設定を読み込んでwordpressは動いているようですが、その設定ファイルに以下を書き込むことで、変更できる、つまり、プレビューのurl に対してreplace関数で置き換えることができるようです。

function replace_preview_post_link ( $url ) {
 $replace_url = str_replace('置き換える文字列', '置き換えた文字列', $url);
 return $replace_url;
}
add_filter('preview_post_link', 'replace_preview_post_link');

プレビューはログイン状態のみ許可しておく

プレビューのページに関しては、あくまで編集者のみが見えるようにしておかないといけないので、自分でページを作成する場合、以下のような感じで、ログイン状態のみ、プレビューのデータを読み込めるような状態にしておく

if(is_user_logged_in() &&isset($_GET["preview"])&&$_GET["preview"]=="true"){
//プレビューのデータを読み込む処理を書く 

 }else{
//ログイン状態ではない場合にredirect
header('Location:/404'); exit(0);

 }

ひとまず、これで解決

コメント