下書きが404になって困ってる・・・
WPでいつの間にか下書きがプレビューできなくなった、という方から連絡をいただいて、試行錯誤した備忘録です。
Custom Permalinks(2016.7.16現在バージョン 0.7.25)を入れていたら要注意
結論から言うと、下記の方法でダメな場合でCustom Permalinksというプラグインを入れていたら、後述の方法を試す価値があると思います。
- wp-config.phpの認証用ユニークキーを更新する方法
- pre_get_posts(functions.php内)の記述を修正する方法
プラグイン編集でSQLを修正する
- 管理画面左のプラグインメニューより
- プラグイン編集
- 右上プルダウンで「Custom Permalinks」を選択し、右隣の「選択」ボタンをクリック
- 下記の部分を修正してファイルを更新
165行目付近(Custom Permalinks バージョン 0.7.25)
// Queries are now WP3.9 compatible (by Steve from Sowmedia.nl) $sql = $wpdb->prepare("SELECT $wpdb->posts.ID, $wpdb->postmeta.meta_value, $wpdb->posts.post_type, $wpdb->posts.post_status FROM $wpdb->posts ". "LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) WHERE ". " meta_key = 'custom_permalink' AND ". " meta_value != '' AND ". " ( LOWER(meta_value) = LEFT(LOWER('%s'), LENGTH(meta_value)) OR ". " LOWER(meta_value) = LEFT(LOWER('%s'), LENGTH(meta_value)) ) ". " AND post_status != 'trash' AND post_type != 'nav_menu_item' AND ". " post_type NOT IN ('revision') ". // この一行を追加 " ORDER BY LENGTH(meta_value) DESC, ". " FIELD(post_status,'publish','private','inherit'),". // この行から'draft','auto-draft',を削除する " FIELD(post_type,'post','page'),". "$wpdb->posts.ID ASC LIMIT 1", $request_noslash, $request_noslash."/");
以上備忘録でした。