HOME > WordPress > 固定ページ本文にショートコードで他ページのカスタムフィールドの値を表示する

固定ページ本文にショートコードで他ページのカスタムフィールドの値を表示する

  • ・固定ページの一部をカスタムフィールドにしたい。
  • ・管理上の都合でカスタムフィールドは別の固定ページに作る。
  • ・カスタムフィールドに登録した情報の表示位置は、表示する固定ページのコンテンツの中盤である。

という状況がありました。

投稿をバラしたり(後半の内容をCFにするなど)、テンプレートに直書きすることは避けたい。
そこで、カスタムフィールドの内容をテンプレートに出力し、
それをfuntions.phpで作成したショートコードで出力する方法をとりました。

/*---------------------------------------------------
テンプレートに記載したACFの値を、
投稿内に埋め込むためのショートコード設定
【例】
テンプレート名 /inc/my_ACF_field.php
ショートコード [myphp1 file='my_ACF_field']
---------------------------------------------------*/
function my_php_Include($params = array()) {
	extract(shortcode_atts(array('file' => 'default'), $params));
	ob_start();
	include(STYLESHEETPATH . "/inc/$file.php");
	return ob_get_clean();
	}
	add_shortcode('myphp1', 'my_php_Include');

まだ内容を理解できていない。。。参考サイトの掲載ソースをそのまま使わせていただいています_(._.)_

参考サイト