Мне нужна помощь для редактора Гутенберга.
У меня есть динамический блок для моего пользовательского типа записи. Я получил все сообщения от остальных API, теперь я хочу добавить к ним свои избранные изображения. У меня есть getEditedPostAttribute и getMedia в моем HOC withSelect, но я не уверен, что это правильно, потому что wp.data ('core / editor'). GetEditedPostAttribute ('featured_media') всегда возвращает 0, поэтому мой медиа-объект всегда будет возвращатьзначение NULL. Вот мой код:
import { Component } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
import { withSelect } from '@wordpress/data';
class PortfolioPostsEdit extends Component {
render() {
const { posts, className, media } = this.props;
return (
<>
{(posts && posts.length > 0) ?
<div className={className}>
{posts.map(post => (
<article key={post.id}>
<a href={post.link}>
{post.title.rendered}
</a>
<div>
{post.featured_media}
</div>
</article>
))}
</div>
: <div>{__("No Posts Found", "my-blocks")}</div>
}
</>
)
}
}
export default withSelect(
(select, props) => {
const { getMedia } = select( 'core' );
const { getEditedPostAttribute } = select( 'core/editor' );
const featuredImageId = getEditedPostAttribute( 'featured_media' );
return {
posts: select('core').getEntityRecords('postType', 'my_portfolio', 'per_page: 20'),
media: featuredImageId ? getMedia( featuredImageId ) : null,
featuredImageId,
}
}
)(PortfolioPostsEdit);
Итак, как я должен отобразить или передать через свой медиа-объект, чтобы получить выборочное изображение для каждого поста? Спасибо.