Опираясь на ответ Дэниела Джеймса, я создал функцию, в которой есть массив для всех страниц, для которых требуется получить идентификатор для добавления их содержимого на определенные страницы архива.
function getOtherPageID($page = null)
{
global $post;
$postIDs = [
'case-studies' => 42, // 42 being the page ID of the content I need
];
if(array_key_exists($page, $postIDs)) :
$id = $postIDs[$page];
endif;
return $id;
}
Позвонив по номеру $id = getOtherPageID('case-studies');
на моей странице шаблона archive-case-studies.php
(или любом другом шаблоне архива), я могу получить нужный мне идентификатор и затем добавить его в поля ACF. Затем при каждом соответствующем вызове поля ACF я просто добавляю $id
к вызову поля ACF: get_field('field_name', $id);
Надеюсь, это поможет другим.
---- Обновление ----
Вместо ввода идентификатора записи (в приведенном выше примере 42) я изменил это, чтобы использовать функцию get_page_by_path();
. Поэтому моя функция:
function getOtherPageID($page = null)
{
global $post;
$postIDs = [
'case-studies' => get_page_by_path( $page ),
];
if(array_key_exists($page, $postIDs)) :
$id = $postIDs[$page]->ID;
endif;
return $id;
}
Теперь он получит объект post, а затем для $id
будет установлен идентификатор объекта post, а затем будет возвращен.