wordpressで公開前の記事がプレビューできない場合がある。
(公開後はきちんと表示される)
その場合、だいたい下記の3つのどれかが原因なので試してほしい。
1.WordPress アドレス (URL)とサイトアドレス (URL)が異なっている
これはそのままで、ここが異なっていると表示されない場合がある。
2つのアドレスの違いは
https://www.nishi2002.com/4207.html
を参照。
2.認証用ユニークキーが原因
1.と似たような感じですが、最初にサイト構築した後にURLの変更や独自ドメインの取得などを行なった場合、上記が原因で表示されなくなる場合がある。
その場合は「wp-config.php」内の
/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。
* 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせることになります。
*
* @since 2.6.0
*/
の部分のちょっと下になる認証キーを上記のURLへ飛んで自動生成し直して上書きする。
URLというのは
https://api.wordpress.org/secret-key/1.1/salt/
の部分のことね
3.例外処理を入れず「pre_get_posts」を使って記事の並び替え処理などを入れてしまった場合
下記のfunction.phpなどに、記事のソートや絞り込みなどをカスタマイズの処理として自分で追加した場合、ちゃんと例外処理書いてやらないと表示されなくなる場合がある
その場合、その関数の最初に下記の処理を追加する。
そうすると、ソートなどの処理がプレビューに適用されなくなるので無事表示される
if( is_admin() || ! $query->is_main_query() || is_preview(){
return;
}