Ich verwende Advanced Custom Fields / ACF , um benutzerdefinierte Felder zu erstellen. Eines davon ist eine Liste von Kontrollkästchen, in denen einige Optionen angezeigt werden (Option1, Option2, Option3 ...) .
Jetzt möchte ich alle Optionen dieses Feldes auf einer separaten Seite im Frontend wie folgt anzeigen:
Optionen:
- Option 1
- Option 2
- Option 3
- ...
Wie kann ich alle Optionen mit Schlüsseln von ACF abrufen?
Antworten:
Die
get_field_object
ACF-Funktion kann verwendet werden, um Informationen und Optionen für ein bestimmtes Feld abzurufen.Zuerst benötigen Sie den Feldschlüssel des spezifischen Feldes, das Sie ausgeben möchten. Klicken Sie beim Bearbeiten einer Feldgruppe oben auf der Seite auf die Registerkarte Bildschirmoptionen. Sie sollten eine Option zum Umschalten der Anzeige der Feldtaste sehen (diese ist standardmäßig ausgeblendet, um Platz zu sparen):
Sobald Sie den Schlüssel haben, können Sie das Feldobjekt laden und seine Werte ausgeben:
quelle
Wenn Sie versuchen, etwas auszugeben, wenn ein Kontrollkästchen aktiviert war, verwenden Sie:
Wenn Sie nur eine Liste der aktivierten Optionen anzeigen möchten, verwenden Sie Folgendes:
Dadurch erhalten Sie eine Reihe von Werten, die Sie mit einer
foreach
Deklaration verwalten können. Wennthe_field('checkbox')
Sie verwenden, erhalten Sie eine durch Kommas getrennte Zeichenfolge der Optionen, die Sie ebenfalls aufteilen können.Ich würde auch vorschlagen, dass Sie auf die Website von ACF gehen und die Dokumentation durchgehen. Die meisten Fragen dieser Art werden dort ausführlich beantwortet, und der Entwickler ist auch in seinen Support-Foren aktiv.
BEARBEITEN: Wenn Sie möchten, dass die Liste der verfügbaren Optionen auf einer Seite zum Generieren einer dynamischen Abfrage ausgegeben wird, habe ich genau das Richtige. Dies ist ein Teil, den ich gestern erstellt habe, um eine Liste von Metawerten aus einem bestimmten benutzerdefinierten Feldschlüssel (mithilfe von ACF) abzurufen. Ich habe es ziemlich allgemein für dich gemacht. Es gibt einen weiteren Teil von JS für die Bearbeitung der Ajax-Anfrage und ein ziemlich kompliziertes Stück PHP, das die resultierenden Beiträge ausgibt. Ich kann diese nicht wirklich umschreiben - der JS ist ein Standard-WP-Ajax-Aufruf / eine Antwort mit Vorwärtsrichtung, und das PHP ist ein Durcheinander von bedingten Überprüfungen für die 12 verschiedenen ACF-Felder, die wir anzeigen (von denen 2 Repeater sind). Die Grundlagen sind dieser Code hier, die Schaltfläche
onClick
ruft die Ajax-Funktion in einer separaten JS-Datei auf, und das PHP für die Ajax-Funktion selbst erstellt im Wesentlichen ein Array von Argumenten für die Abfrage.$selectedOption
oder$_POST['option']
als meta_value. Das wird a zugeführtnew WP_Query( $args );
, das dann in einer Schleife verwendet wird, deren Ausgang überadd_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
und zu js zurückgeführt wirdadd_action( 'wp_ajax_nopriv_the_ajax_hook', 'fetch_option_list' ); //for non logged-in users
.quelle
foreach
um durchzuschleifen. Die späteren Funktionen bringen die Liste der Beiträge über Ajax, aber ich habe das Bit