Итак, я попытался найти информацию об этом, и я чувствую себя довольно застрявшим.
У меня безголовый WordPress, использующий реагирование, и у меня есть страница, которая получает мой единственный пост и возвращает его.
Каждый пост (пользовательский тип поста, называемый Tjanster) имеет поле acf со ссылкой на другой пользовательский тип поста, который является лицом, связанным с постом.
Сейчас все работает с получением содержимого публикации, а также объекта person с идентификатором, слагом и т. Д. Но мне нужен контент ACF для этого типа сообщения "person".
Моя идея сейчас заключается в том, что я получаю идентификатор от объекта person в посте, а затем делаю другую api-выборку для этого идентификатора непосредственно к конечной точке человека, это правильное мышление?
Это мой пост, который я получаю с acf.person [0] .id от (http://localhost:8080/wp-json/wp/v2/tjanster)
).
Здесь я получаю идентификатор человека, который равен 68, а затем я могу сделать запрос к http://localhost:8080/wp-json/wp/v2/person/68, который возвращает объект с правильной информацией acf:
И вот как сейчас выглядит мой tjanster.js (пост-страница):
import Layout from "../components/Layout.js";
import React, { Component } from "react";
import fetch from "isomorphic-unfetch";
import Error from "next/error";
import PageWrapper from "../components/PageWrapper.js";
import Menu from "../components/Menu.js";
import { Config } from "../config.js";
class Tjanster extends Component {
static async getInitialProps(context) {
const { slug, apiRoute } = context.query;
const res = await fetch(
`${Config.apiUrl}/wp-json/postlight/v1/${apiRoute}?slug=${slug}`
);
const tjanster = await res.json();
return { tjanster };
}
render() {
if (!this.props.tjanster.title) return <Error statusCode={404} />;
let personId = this.props.tjanster.acf.person[0].ID;
console.log(personId);
return (
<Layout>
{this.props.tjanster.title.rendered}
</Layout>
);
}
}
export default PageWrapper(Tjanster);
Как вы можете видеть, у меня есть идентификатор объекта person, сохраненный под render как personId, но я не совсем уверен, что делать дальше? Я подумал, что мог бы сделать еще одну выборку сверху, используя ${Config.apiUrl}/wp-json/wp/v2/person/${personId}
, но я не получу, чтобы это работало, так как у меня пока нет доступа к идентификатору.
Любые идеи будут с благодарностью!