Echo eine hierarchische Liste von Post-Daten aus benutzerdefinierten Feldern

Ich habe einen benutzerdefinierten Beitragstyp “Standorte” mit benutzerdefinierten Feldern “Status”, “Stadt”, “Adresse” und “Telefon”.

Ich möchte diese Felder in einer organisierten Liste abfragen. Sagen wir, ich habe diese drei Beiträge:

Stadt: Los Angeles; Bundesstaat: Kalifornien; Adresse: 123 Main St .; Telefon: 888-111-2222

Stadt: San Jose; Bundesstaat: Kalifornien; Adresse: 55 1. St.; Telefon: 888-333-4444

Stadt: Brooklyn; Bundesstaat: New York; Adresse: 9 25. St.; Telefon: 888-555-4848

Sollte wie folgt aussehen:

  • Kalifornien
    • Los Angeles
      • 123 Main St.
      • 888-111-2222
    • San Jose
      • 55 1. St.
      • 888-333-4444
  • New York
    • Brooklyn
      • 9. 25. St.
      • 888-555-4848

Bisher verwende ich diesen Code, um die Zustände in einer Liste zu erfassen, und es funktioniert:

    postmeta WHERE meta_key = 'state' GROUP BY meta_value ORDER BY meta_value;"; $states = $wpdb->get_results( $query ); foreach( $states as $state ) : echo'
  • '; echo $state->meta_value; echo '
  • '; endforeach; ?>

Aber das zeigt natürlich nur:

  • Kalifornien
  • New York

Ich versuche herauszufinden, wie ich den Rest der gesuchten Daten abfragen kann.

Danke im Voraus!

Solutions Collecting From Web of "Echo eine hierarchische Liste von Post-Daten aus benutzerdefinierten Feldern"

Ein kleines Beispiel, basierend auf get_posts und get_post_meta.

 $locations = get_posts( array('post_type'=> 'locations', 'posts_per_page'=> -1, 'post_status' => 'publish' ); echo '
    '; foreach($locations as $location){ $location_city = get_post_meta($location->ID, 'city', true); $location_state = get_post_meta($location->ID, 'state', true); $location_address = get_post_meta($location->ID, 'address', true); echo '
  • '.$location_city; echo '
  • '.$location_state.'
  • '; echo '
  • '.$location_address.'
  • '; echo ''; } echo '
';

Sie müssen $ args Array in den get_posts anpassen, um nach einem bestimmten Wert zu sortieren. Auf diese Weise durchlaufen Sie Posts und rufen ihre benutzerdefinierten Felder mit get_post_meta ab.

Bearbeiten: Sie können ein Meta-Abfrage-Array in den Argumenten für die Abfrage hinzufügen oder abfragen. Benutzerdefiniertes Feld in WP_Query

Ich hoffe es hilft.