Допустим, у нас есть React, Vue, любая страница.
На этой странице есть раздел для некоторого повторяющегося (одинакового вида) контента. Моя идея заключалась бы в том, что я хочу, чтобы контент можно было создавать с помощью настраиваемых типов записей Wordpress, а затем получать эти «сообщения» с помощью Wordpress REST api.
В настоящее время я получаю из api некоторую конструкцию массива вроде это:
[
{
author: 1
categories: [2]
comment_status: "open"
content: {
protected: false
rendered: "<p>Hello World</p>"
}
date: "2020-07-31T01:02:03"
date_gmt: "2020-07-31T01:02:03"
excerpt: {,…}
featured_media: 0
format: "standard"
guid: {rendered: "http://wordpress.somepageurl.com/slug/?p=123"}
id: 123
link: "https://wordpress.somepageurl.com/slug/fancy-new-custom-post/"
meta: []
modified: "2020-07-31T01:02:03"
modified_gmt: "2020-07-31T01:02:03"
ping_status: "open"
slug: "fancy-new-custom-post"
status: "publish"
sticky: false
tags: []
template: ""
title: {rendered: "Fancy New Custom Post"}
type: "post"
_links: {self: [{href: "https://wordpress.somepageurl.com/slug/wp-json/wp/v2/posts/123"}],…}
},
...
]
это неплохо, я мог бы взять контент и разместить его где-нибудь - bazinga
НО
Допустим, я хочу иметь изображение, название, ссылка и какая-то причудливая рамка вокруг этого
теперь есть два способа придумать это
- каким-то образом из wordpress получить что-то вроде:
{
imgUrl: URL_FROM_WORDPRESS_UPLOADED_IMAGE,
title: 'some describing title',
link: 'https://some.nice-page.com
}
таким образом я мог бы сделать все стили внутри самой страницы выборки
Но как я мог создать удобный интерфейс для этого? А потом ... как я могу получить данные через REST? Могу ли я создать блок Гутенберга и получить доступ только к данным атрибутов? Если да, то как?
Создайте контент с помощью блоков Гутенберга, а затем возьмите контент из REST, чтобы отобразить его ... но тогда ... как мне получить CSS из этого предварительно стилизованного компонента?
Я бы полностью предпочел первый подход, но в любом случае ... Я надеюсь, что вы уловили здесь, и, возможно, я столкнулся с этим совершенно неправильно, но я надеюсь, что кто-то там может помочь - я даже был бы благодарен за ключевые слова, ссылки, толчок в правильном направлении :)
Спасибо, что прочитали