Настоящий способ сделать это с ACF - использовать параметр $ post-> ID.
Скажем, вы установили значение поля на домашней странице, теперь вы не хотите вносить его на другие страницы, просто не будет работать следующее:
the_field('homepage_field');
Вы должны указать ACF, какой идентификатор страницы проверить для значения:
the_field('homepage_field', $pageID);
Если вы пытаетесь получить домашнюю страницу, которая установлена на первой странице в настройках WordPress, используйте следующее:
$frontpage_id = (int)get_option( 'page_on_front' );
the_field('homepage_field', $frontpage_id);
Это также будет работать с:
- get_field ('field_name', $ pageID)
- get_sub_field ('field_name', $ pageID)
- the_sub_field ('field_name', $ pageID)
- have_rows ('field_name', $ pageID)
Относительно потенциального другого варианта, как вы упомянули, если бы он был предложен. Попробуйте подключить плагин страницы параметров Premium ACF, это позволит вам получить поля, используя:
- the_field ('field_name', 'options')
- get_field ('field_name', 'options')
- get_sub_field ('field_name', 'options')
- the_sub_field ('field_name', 'options')
- have_rows ('field_name', 'options')