Publier à distance un article WordPress en PHP
Après Facebook et Twitter, et si on revenait à quelque chose de plus local : WordPress. Aujourd’hui, on va utiliser PHP pour publier à distance un article sur un blog WordPress.
Installation
La librairie utilisée est hieu-le/wordpress-xmlrpc-client. Le choix s’est fait sur plusieurs points : tests unitaires, documentation et support des standards PSR. Le bonus a été que cette librairie est conseillée par le Codex de WordPress.
L’installation se fera via Composer :
"require": { "hieu-le/wordpress-xmlrpc-client": "2.2" }
Utiliser l’API de WordPress pour créer un article
L’API de WordPress reste assez simple. Elle fonctionne par l’envoi d’une requête HTTP de type POST avec comme contenu une enveloppe XML-RPC.
Pour créer un article, on va utiliser l’API wp.newPost au travers de la classe PHP.
On instancie la classe avec trois paramètres :
- WP_URL correspond à l’URL de votre blog suivi de xmlrpc.php ;
- WP_USER correspond à votre utilisateur ;
- WP_PASS correspond au mot de passe de l’utilisateur.
use \HieuLe\WordpressXmlrpcClient\WordpressClient; $oWordPress = new WordPressClient(WP_URL, WP_USER, WP_PASS);
Après cette instanciation, on appelle la méthode newPost.
$idPost = $oWordPress->newPost('Title', 'Body', array());
Et voilà, l’article est créé. Rien de plus simple.
Conclusion
De nombreuses autres API existent pour manipuler son blog et permettent d’être manipulé grâce à la librairie de hieu-le.
On peut faire de nombreuses choses comme :
- Récupérer tous les articles et les manipuler (ajout, édition et suppression) ;
- Manipuler la taxonomie (catégories et tags) ;
- Manipuler les fichiers et même, télécharger un fichier ;
- Manipuler les commentaires d’un article ;
- Récupérer les utilisateurs du blog ;
- Modifier son profil.
Toutes les informations se trouvent sur la documentation. Mais d’autres API existent sur le Codex de WordPress si votre blog est hébergé sur WordPress.org.
Commentaires
Bonjour
Merci pour votre article, je le trouve intéressant à tester sur mon blog wordpress 🙂
Ajouter un commentaire