WordPress プレビューで Advanced Custom Fields の値を表示する方法をご紹介します。
プレビュー中でもカスタムフィールドの値を表示したい時に便利な方法です。
プレビューで Advanced Custom Fields の値を表示
WordPress プレビューで Advanced Custom Fields の値を表示する方法を紹介します。
紹介している方法は e-joint.jp さんのWordPressのプレビューでAdvanced Custom Fieldsの値が表示されないときに試してみることの記事を参考にしています。
まずはテーマファイルの function.php に以下のコードを追加します。
/*【出力カスタマイズ】プレビューで Advanced Custom Fields の値を表示 */
function fix_post_id_on_preview($null, $post_id) {
if (is_preview()) {
return get_the_ID();
}
else {
$acf_post_id = isset($post_id->ID) ? $post_id->ID : $post_id;
if (!empty($acf_post_id)) {
return $acf_post_id;
}
else {
return $null;
}
}
}
add_filter( 'acf/pre_load_post_id', 'fix_post_id_on_preview', 10, 2 );
次に記事のプレビューを行い、カスタムフィールドが表示されているかを確認してください。
表示されない原因
表示されない原因は「プレビュー時はACFの値の取得方法が通常と異なる」ことが原因のようです。
対策としては、ACF以外のカスタムフィールドの取得を行うなどがあります。
参考:Preview solution ! – ACF Support
まとめ
WordPress プレビューで Advanced Custom Fields の値を表示する方法をご紹介しました。