Wie man Options Subpages mit Stout Logic ACF Builder nutzt

Adavanced Custom Fields Pro 5 kommt von Hause aus mit der Möglichkeit Felder per php anzulegen

Dies ist besonders dann praktisch, wenn wir eine Wordpress-Seite via Github verwalten und möchten, dass ACF-Felder per Github gesynct werden. Die Felder müssen dann nicht ständig exportiert und importiert werden wenn wir zwischen verschiedenen Environments (z.B. Staging und Development) oder zwischen verschiedenen lokalen Entwicklungsumgebungen wechseln.


Stout Logic ACF Builder
ist ein Plugin, das es uns ermöglichst Advanced Custom Fields php Felder mit einer einfacheren, schnelleren php Syntax zu konfigurieren. In der offiziellen Dokumentation gibt es aber keinen Hinweis darauf, wie man options subpages anlegt. Damit du unsere Anleitung verstehst, ist es wichtig, dass du Stout Logic ACF Builder grundsätzlich verstehst und die Syntax geläufig ist.

Options Pages sind Seiten, die nicht für Besucher einer Webseite gedacht sind, sondern um Einstellungen im Backend vorzunehmen. Sie werden in der Menü-Seitenleiste im Wordpress-Backend verlinkt. Options Subpages sind Seiten, die einer Options Page untergeordnet ("nested") sind und beim hovern der Eltern-Seite im Untermenü angezeigt werden. Siehe Screenshot. Was options subpages genau sind und wie du sie normalerweise bei ACF ohne StoutLogic ACF Builder anlegst, erfährst du hier.

Bevor du options pages aufrufen und mit ACF Feldern bestücken kannst, musst du sie via Eintrag in der functions.php oder in einem Plugin oder in StoutLogic ACF Builder (wie hier im Beispiel) anlegen. 

Um eine Subpage anzulegen wählst du eigentlich genau die selbe Methode wie wenn du eine Parent Optionspage anlegen willst, nur dass du statt dem Slug der Parent-Optionpage den Slug der Child-Optionspage angibst. Diesen findest du, indem du die Optionspage im Backend aufrufst und einen Blick in die URL in der Adressleiste des Browsers wirfst. Dort steht etwas wie "https://example.com/wp-admin/admin.php?page=acf-options-subpage-slug". Das was hinter "page=" steht ist der Slug, also in diesem Fall "acf-options-subpage-slug". Diesen fügst du einfach als location in StoutLogic ACF Builder auf um Felder in die jeweilige Unterseite einzusetzen.

Das sieht dann so aus:


<?php

use StoutLogic\AcfBuilder\FieldsBuilder,

 

acf_add_options_page([

   'page_title' => get_bloginfo('name') . ' Theme Options',

'menu_title' => 'Theme Options',

   'menu_slug' => 'theme-options',

   'capability' => 'edit_theme_options',

   'position' => '999',

   'autoload' => true

]);

 

acf_add_options_sub_page([

   'page_title' => 'Theme Header Settings',

   'menu_title' => 'Header',

   'parent_slug' => 'theme-options',
]);

$options = new FieldsBuilder('theme_options');

$options ->setLocation('options_page', '==', 'acf-options-header');

Hinterlasse einen Kommentar