カスタム投稿タイプでAdvanced Custom Fields(ACF)のプレビューが動作しない

タイトルのとおりです。

状況

Custom Post Type UIプラグインでカスタム投稿タイプ「hogehoge」を追加し、さらにAdvanced Custom Fieldsプラグインで投稿タイプhogehogeに対して「piyo」というカスタムフィールドを追加しました。

すると、新規投稿→入力→プレビューでは「piyo」の内容は表示されますが、編集を加えてプレビューをすると「piyo」の内容がプレビューで表示されません。

原因

カスタム投稿タイプのリビジョン(投稿の自動保存機能)が、カスタム投稿を追加しただけだと有効になっていないことが原因でした。プレビュー機能は一時保存したリビジョンの内容をプレビューさせているので、自動保存が有効になっていないと表示することができません。

対処法

次のコードをテーマの「function.php」に追加します。

//カスタム投稿タイプのリビジョンを有効にする
function my_custompost_rv() {
  add_post_type_support( 'カスタム投稿タイプ名', 'revisions' );
}
add_action('init', 'my_custompost_rv');

ちなみに

Advanced Custom Fieldsプラグインはプレビューに対応していますが、標準のカスタムフィールドの表示方法だとプレビュー対応していないので↑の対処法とは別問題です。

タイトルとURLをコピーしました