ArunPrakashG / wordpress_client

A powerful and easy-to-use WordPress REST API client for Dart & Flutter.
MIT License
33 stars 12 forks source link

Image Url extraction error #33

Closed RoyalCoder88 closed 1 year ago

RoyalCoder88 commented 1 year ago

Hi first for your great package,

I have a problem extracting feature media URL, I tried in different ways: posts[0].featuredImageUrl and response.data[0]["wp:featuredmedia"] but I get this error:

*** Request ***
uri: https://b2bboostify.co.uk/wp-json/wp/v2/posts?page=1&per_page=1&order=desc
method: GET
responseType: ResponseType.json
followRedirects: true
persistentConnection: true
connectTimeout: 0:01:00.000000
sendTimeout: 0:00:30.000000
receiveTimeout: 0:00:30.000000
receiveDataWhenStatusError: true
extra: {}
headers:
data:
null

<p>Morbi sagittis, sem quis lacinia faucibus, orci ipsum gravida tortor, vel interdum mi sapien ut justo. Nulla varius consequat magna, id molestie ipsum volutpat quis. Suspendisse consectetur fringilla luctus. Fusce id mi diam, non ornare orci. Pellentesque ipsum erat, facilisis ut venenatis eu, sodales vel dolor.</p>
<ul>
<li><strong>This is a unorder list</strong>. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, sem quis lacinia faucibus, orci ipsum gravida tortor, vel interdum mi sapien ut justo.</li>
<li>Nulla varius consequat magna, id molestie ipsum volutpat quis. Suspendisse consectetur fringilla luctus.</li>
<li>Fusce id mi diam, non ornare orci. Pellentesque ipsum erat, facilisis ut venenatis eu, sodales vel dolor.</li>
</ul>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, sem quis lacinia faucibus, orci ipsum gravida tortor, vel interdum mi sapien ut justo. Nulla varius consequat magna, id molestie ipsum volutpat quis. Suspendisse consectetur fringilla luctus. Fusce id mi diam, non ornare orci. Pellentesque ipsum erat, facilisis ut venenatis eu, sodales vel dolor.</p>
, protected: false}, excerpt: {rendered: <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, sem quis lacinia faucibus, orci ipsum gravida tortor, vel interdum mi sapien ut justo. Nulla varius consequat magna, id molestie ipsum volutpat quis. Suspendisse consectetur fringilla suctus. Pellentesque ipsum erat, facilisis ut venenatis eu, sodales vel dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit&#8230;.</p>
, protected: false}, author: 1, featured_media: 8369, comment_status: open, ping_status: open, sticky: false, template: , format: standard, meta: {footnotes: }, categories: [2], tags: [], aioseo_notices: [], _links: {self: [{href: https://b2bboostify.co.uk/wp-json/wp/v2/posts/87}], collection: [{href: https://b2bboostify.co.uk/wp-json/wp/v2/posts}], about: [{href: https://b2bboostify.co.uk/wp-json/wp/v2/types/post}], author: [{embeddable: true, href: https://b2bboostify.co.uk/wp-json/wp/v2/users/1}], replies: [{embeddable: true, href: https://b2bboostify.co.uk/wp-json/wp/v2/comments?post=87}], version-history: [{count: 1, href: https://b2bboostify.co.uk/wp-json/wp/v2/posts/87/revisions}], predecessor-version: [{id: 8372, href: https://b2bboostify.co.uk/wp-json/wp/v2/posts/87/revisions/8372}], wp:featuredmedia: [{embeddable: true, href: https://b2bboostify.co.uk/wp-json/wp/v2/media/8369}], wp:attachment: [{href: https://b2bboostify.co.uk/wp-json/wp/v2/media?parent=87}], wp:term: [{taxonomy: category, embeddable: true, href: https://b2bboostify.co.uk/wp-json/wp/v2/categories?post=87}, {taxonomy: post_tag, embeddable: true, href: https://b2bboostify.co.uk/wp-json/wp/v2/tags?post=87}], curies: [{name: wp, href: https://api.w.org/{rel}, templated: true}]}}]

POSTS: 1
POST TITLE: {rendered: Satisfaction Lies in the Effort}
IMAGE POST: null
TITLE FORMATAT: Satisfaction Lies in the Effort

Please can you help me, thanks in advance!

ArunPrakashG commented 1 year ago

Hi @RoyalCoder88 ,

Thank you for your commendation.

I'd like to address the issue you're encountering. The absence of the featured image URL in the REST API response is due to the fact that the URL field is only present when the "rest api featured image url" plugin is active on your website. This is documented in the respective property's description:

/// Field generated by https://wordpress.org/plugins/rest-api-featured-image/ plugin
final String? featuredImageUrl;

If you prefer not to utilize this plugin, there are alternative solutions. You can modify the functions.php file to include this capability. Alternatively, you can use the ID from the featuredMedia property and make a retrieval request to the media interface using that ID. This method will provide you with comprehensive details about the featured image.

Thank you!

RoyalCoder88 commented 1 year ago

Hi @ArunPrakashG,

Thanks for your solution, it's working now. Only one mention the field is featured_media_src_url not featured_image_url like in Post class. Thanks!

ArunPrakashG commented 1 year ago

@RoyalCoder88 Now that you mention it, i think i may have missed this edit. I had edited my wp installation on test environment to have that key. I will correct it soon!