カスタムフィールドの値だけで作ったページを分割する
- 2019.10.29
- Wordpress

ACFなどのカスタムフィールド系のプラグインを利用して、投稿をカスタマイズすることがあります。
基本的にはカスタムフィールドに登録したものを出力するだけで事足りるのですが、
ページ送りをしたい場合は少し考える必要があります。
方法
少々無茶ですが、投稿の保存時にフックを利用して、本文をまるっと書き換えてしまう方法で対応しました。
コード
function change_post_content_to_acf($post_ID) {
$post_type = get_post_type($post_ID);
if ($post_type === 'post') : // 投稿のときのみ行う
remove_action('save_post', 'change_post_content_to_acf');
$args = [
'post_content' => get_acf_content() // ACFで設定した値を全て結合したものが取得できる関数を想定
];
wp_update_post($args);
add_action('save_post', 'change_post_content_to_acf');
endif;
}
add_action('save_post', 'change_post_content_to_acf');
function get_acf_content() {
$html = '';
// ACFで設定した値を取得する何かしらの処理...
return $html;
}
// 投稿の本文の入力欄は消してしまう
function my_remove_post_support() {
remove_post_type_support('post','editor');
}
add_action('init','my_remove_post_support');
参考
-
前の記事
WordPressはどうやって動いているのか?① 2019.09.19
-
次の記事
WordPressのログイン画面のロゴをカスタマイズする 2019.11.07