Marinus Klasen

Marinus Klasen

  • Development
  • Consultancy
  • Developer Resources
  • Blog
  • Contact

July 23, 2022

Updating a post in WordPress using Fetch

Marinus Klasen

In this post we’ll go through the steps of updating a post in WordPress using the Fetch API in Javascript. We’ll focus on authenticated users in the front or backend of WordPress and use the nonce that’s available on every page.

A snippet to update a post in the WordPress REST API

In the snippet below we’ll use the fetch API together with the nonce provided by the wpApiSettings object. To get access to this object, make sure to enqueue the wp-api script like below. You can also enqueue this as a dependency in other wp_enqueue_script functions.

 wp_enqueue_script( 'wp-api' );

The fetch function

let post_id = 10;

fetch(wpApiSettings.root + "wp/v2/post/" + post_id, {
	method: "POST",
	headers: {
		"X-WP-Nonce": wpApiSettings.nonce,
		'Content-Type': 'application/json',
	},
	body: JSON.stringify({
		title: "Your new post title",
	}),
})
	.then(res => res.json())
	.then(result => {
		console.log(result);
	});

That’s the base, adjust the script to your likings and you’re good to go!

Happy developing!

About Marinus Klasen

Marinus has been working in software/web development for more than a decade. Since 2020 his attention shifted on sharing knowledge and developing products and tools for sharing knowledge.

Marinus Klasen on Twitter

This site runs on Cloudways.
It's fast isn't it?
Cloudways offers high-quality, fast and affordable hosting.

Learn more

Need a hand? Post your project and hire me and other top notch developers on Codeable.

Hire me on Codeable

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Get in touch

Contact me using the details below

Marinus Klasen

Wilhelmina van Pruisenweg 35, 2595 AN Den Haag

[email protected]
twitter.com/marinusklasen
linkedin.com/in/marinusklasen

  • GitHub
  • LinkedIn
  • Twitter

Have you read?

  • Disable the ‘Password Changed’ Email notification in WordPress with a filterAugust 30, 2023
  • A-Frame: Change an objects color on hoverAugust 24, 2023
  • Connecting to a Cloudways application with VSCodeAugust 15, 2023
  • Force refresh PHP-FPM or Litespeed cacheAugust 4, 2023
  • Only return zip/postal codes from Google Places AutoComplete Javascript APIJuly 19, 2023

Copyright © 2023 · Marinus Klasen | Webdesign by Team Rood