Wrordpress他ページのACFの値を出力する
ページIDを指定して表示
他のページ(特定の固定ページや投稿)の ACF(Advanced Custom Fields)の値を出力したい場合、そのページの 投稿ID(ページID)を指定して get_field() や the_field() を使えばOKです。
固定ページ「会社案内」(ページID: 42)に ACF フィールド company_name がある場合:
<?php
$company_name = get_field('company_name', 42);
echo $company_name;
エスケープして表示する場合
echo esc_html(get_field('my_field', ページID)); // HTMLとして安全に出力
echo esc_url(get_field('my_url_field', ページID)); // URLを安全に出力
ページのスラッグを指定して表示
ページのスラッグからACFの値を取得する場合は、get_page_by_path
<?php
$page = get_page_by_path('img-edit-page'); // ページを取得
if ($page) {
$page_id = $page->ID;
$img = 'img_item'; // ACF画像フィールドの名前
$imgField = get_field($img, $page_id);
if (!empty($imgField) && isset($imgField['url'])) {
echo '<img src="' . esc_url($imgField['url']) . '" alt="' . esc_attr($imgField['alt']) . '">' . "\n";
}
} else {
echo '<!-- ページが見つかりませんでした -->';
}
?>
