【WordPress】投稿下書きプレビューが表示されない場合

投稿下書きのプレビュー画面が表示されない。
WordPressアドレスとサイトアドレスが一致していない時に起こります。
今回は、その対策についてお伝えします。
WordPressアドレスとサイトアドレス

WordPressをインストールする場所を、例えば、https://xxxx.comではなく、https://xxx.com/wp/という風にしている場合。
wp-admin、wp-content、wp-includesのフォルダがある場所です。
ルート直下(対象ドメインのディレクトリーの一番上)にある場合は、WordPressアドレスはhttps://xxxx.comです。
その場合は、今回のようにプレビュー画面が表示されないというような問題は起こらないはずです。
その下のフォルダの、wp(https://xxxx.com/wp/)というフォルダの中に、WordPressをダウンロードしているため、プレビュー画面のURLが一致せず表示されないという現象になっています。
WordPressアドレスとサイトアドレスの設定
WordPressアドレスと、サイトアドレスが違う場合は、
ダッシュボード/設定/一般設定
にて、上記画像のように設定します。
ただし、これだけでは、プレビュー画面には対応されていません。
プレビュー画面のURlは、 https://xxxx.com/?p=投稿ID&preview=true です。
ルート直下には、WordPressのフォルダがないため表示されません。
筆者の場合は、ルート直下にあるindex.htmlをトップページにいているため、何度プレビューを押しても、そのトップページが表示されるだけでした。
function.php
この問題について検索すると、function.phpにコードを記述する方法がたくさん出てきたので、まずはそちらを試しました。
結果はダメでした。
そこで、たどり着いたのが下記の方法です。
.htacceseにコードを記述
# サイトトアドレスとWordPressアドレス不一致のためのプレビュー表示対策
RewriteCond %{QUERY_STRING} (^|&)preview=true($|&)
RewriteCond %{QUERY_STRING} (^|&)p=(\d+)($|&)
RewriteRule ^$ /wordpress/?%{QUERY_STRING} [L]
あっさりとプレビュー画面が表示されました。
下記サイトを参照にしました。
かなり手こずっていたので本当に助かりました。
投稿日: 2022/04/19 最終更新日: 2022/09/10
投稿日: 2022/04/19
最終更新日: 2022/09/10