webentwicklung-frage-antwort-db.com.de

WP Endpunkt mit benutzerdefiniertem Beitragstyp und ACF-Feldern ausruhen

Ich versuche, eine REST api get zu erstellen, um Projekte abzurufen und sie als JSON zurückzugeben. Ich versuche, einen neuen Endpunkt zu erstellen, auf dem ich versuche, das CPT und die anderen erweiterten benutzerdefinierten Felder abzurufen .

Bisher kann ich alle Beiträge von meinem benutzerdefinierten Beitragstyp abrufen, möchte aber auch die ACF (Felder) erhalten.

function ldl_get_projects( $data ) {
  $posts = get_posts([
    'post_type'         => 'maps_projects',
    'post_status'       => 'publish',
    'posts_per_page'    => -1,
  ]);

  if (empty( $posts ) ) {
    return null;
  }

  $data = [];

  foreach ($posts as $post) {
    $api_content = [
        'name'  => $post->post_title,
        'description'  // ACF
        'cargo'  => // ACF 
        'services'  =>  // ACF
        'Origin'  => // ACF
        'destination'  =>  // ACF
        'specifics'  =>  // ACF
        'long'  => // ACF
        'lat'  => // ACF
        'gallery'  => // ACF
    ];
    $data[] = $api_content;
  }

  return $data;
}

Wie Sie sehen können, müssen die mit // ACF gekennzeichneten Felder das ACF-Feld abrufen. Kann mir jemand dabei weiterhelfen?

Vielen Dank.

1
Duikboot

Erweiterte benutzerdefinierte Felder verwenden die Funktion get_field(), um die Felder abzurufen. Alles, was Sie tun müssen, ist, sie abzurufen, indem Sie Folgendes verwenden:

$field = get_field('field_name', $post->ID, 'format_value');

für jedes Ihrer Felder in der Schleife. Sie können die Seite this lesen, um weitere Informationen zu erhalten.

Fragen zu Plugins sind hier nicht zum Thema. Deshalb hat Ihre Frage in 4 Tagen nicht viel Aufmerksamkeit erhalten. Aber da es ein einfaches Problem war, habe ich die Antwort gepostet.

1
Jack Johansson