Unterstützung bei eigener Funktion

  • Guten Morgen,

    ich bin gerade dabei, mir eine Funktionalität zu bauen, um Feldwerte verschiedener Posts auszulesen. Das ganze soll ein Seminarmanagement mit Anmeldemöglichkeit werden. Dabei habe ich mir mit CPT UI verschiedene Inhaltstypen, also Posts generiert und mit ACF die benötigten Felder erstellt.

    Wenn ich mir nun ein Seminarpost anzeigen lassen (ich mache das unter Oxygen mit EasyPosts) soll über eine Funktion alle Feldwerte in ein Array gepackt werden, wobei andere von mir definierte Posts dem Seminarpost zugeordnet sind und in meinem erzeugten Array als Post-ID ausgelesen werden. Diese sollen dann hernach über die selbe Funktion weiter ausgelesen werden, damit ich letztendlich ein Mehrdimensionales Array erhalte, in dem mir alle benötigten Daten in weiterverwendbarer Form zur Verfügung stehen.

    Ich bin alles andere als php-Spezialist, recherchiere mir aber das Nötigste zusammen und schaffe es immerhin, das zu erreichen, was ich möchte (mit wahnsinnigem Zeitaufwand, aber ich versuche schon, so viel wie möglich selbst zu machen, um dabei zu lernen)

    Mein Bitte nur dazu: würde vielleicht einmal jemand über meine Funktion schauen, um mir ein Feedback zu machen, ob der Code soweit ok ist (oder ich vielleicht Sachen eingebaut habe, die man so nicht machen sollte) und ob dieses Vorgehen des Auslesens von verschachtelten Posts auch mit einfacheren Mitteln bewerkstelligt werden kann.
    Ich würde mich sehr freuen, ein Feedback zu bekommen, würde mir etwas Sicherheit geben, so weiter zu machen wie jetzt angefangen.

    Die Weiterverarbeitung der Unterposts habe ich soweit noch nicht umgesetzt, stelle mir aber vor, daß meine Funktion das Array der ersten Ebene als Wert zurückgibt und dann über eine "Dachfunktion" die Unterposts ausgelesen werden. Sollte dann eigentlich kein Problem mehr sein ;)

    Danke und Grüße, chapolote

    Hier die Funktion:

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich habe in ACF dafür ein Beitrags-Objekt eingesetzt, welches mir die Posts eines anderen CPT zur Auswahl anbietet.
    Der Rückgabewert ist dann eben die Post-ID, aber nicht die einzelnen Felder. Darum meine eigene Funktion, die dann aus diesen ID‘s die vorhandenen Felder ausliest.
    Inzwischen sind es 2 Funktionen geworden, eine, die alle Felder des Mutterposts ausliest und eine, die dann die Felder der ID‘s ausliest, die mir zurückgegeben werden. Funktioniert so alles prima, ich kann es einfach nicht wirklich glauben, daß ich in der ACF-Dokumentation nichts darüber finde, wie man Felder von Kind-Posts ausliest. Hätte eigentlich gedacht, das ACF hierfür eine Funktionalität bereit stellt. Aber vielleicht habe ich sie einfach nicht gefunden, oder etwas falsch oder nicht ganz verstanden. Aber macht im Grunde nix, so lerne ich wenigstens etwas programmieren ;)

  • Das ACF Beitrags-Objekt gibt standardmässig ein/mehrere Post-Object(s) zurück, nicht nur Post-ID(s).

    Wenn Du auch "Kind-Posts" möchtest, klicke die gewünschten mit in der Beitrags-Objekt Auswahl an oder nutze danach ein eigenes get_posts() mit post_parent oder post_parent__in Parametern und der aus den Post-Object(s) ermittelten $post->ID Werten.

  • Ja, hab mich missverständlich ausgedrückt, zugegebenermaßen falsch. Ich lese aus den zurückgegebenen Post-Objects die zugehörige ID aus und hole mir dann über meine Funktion die zugehörigen Felder.
    Das Vorgehen, welches Du beschreibst, ist mir nicht ganz klar. Meinst Du, Du könntest mir hier ein vereinfachtes und kurzes Beispiel posten, falls das überhaupt ohne größeren Aufwand geht? Wäre super....

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!