Skip to content

Instantly share code, notes, and snippets.

@BinaryKitten
Last active June 5, 2019 10:24
Show Gist options
  • Save BinaryKitten/479cff9d0b784669829fda9e6a625b5d to your computer and use it in GitHub Desktop.
Save BinaryKitten/479cff9d0b784669829fda9e6a625b5d to your computer and use it in GitHub Desktop.
<?php
return [
// page_id => [fieldset, fieldset]
1 => ['video', 'gallery'],
2 => ['gallery'],
102 => ['video']
];
<?php
add_action('acf/init', 'load_custom_fieldsets2');
function load_custom_fieldsets2() {
$mapFile = locate_template('pageMap.php');
if ($mapFile === '') {
return; // no Map File - no fields
}
$pageMap = include $mapFile;
if (!is_array($pageMap)) {
return; // map file is broken
}
foreach ($pageMap as $pageId => $fieldsets) {
foreach ($fieldsets as $fieldset) {
$fieldsetFile = locate_template('fieldsets/' . $fieldset . '.php' );
if ($fieldsetFile === '') {
continue;
}
include $fieldsetFile;
}
}
}
<?php
add_action('acf/init', 'sp_page_load');
function sp_page_load() {
$core_pages = new playbook_core_pages();
$page_list = $core_pages->page_list();
foreach ($page_list as $key => $page_defininition) {
if (!array_key_exists('fields', $page_defininition)) {
continue;
}
$fieldsets = $page_defininition['fields'];
$page = get_page_by_title($page_defininition['title']);
load_fieldset_for_page($page->ID, $fieldsets);
}
}
function load_fieldset_for_page($pageId, $fieldsets) {
foreach ($fieldsets as $fieldset) {
$fieldsetFile = locate_template('fieldsets/' . $fieldset . '.php' );
if ($fieldsetFile === '') {
continue;
}
include $fieldsetFile;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment