avr 12
Poster automatiquement sur Wordpress avec PHP
Non ce blog n’est pas mort, seulement je suis occupé à d’autres projets en ce moment. C’est pourquoi l’article d’aujourd’hui sera bref, mais j’espère pourra vous être utile.
Il arrive parfois qu’on ait des besoins particuliers comme par exemple automatiser la publication de d’articles sur Wordpress qui ont besoin de manipulations côtés serveur avant d’être postées. Par exemple récupérer l’horoscope du jour.
Pour cela, plutôt que d’utiliser une batterie d’extensions qui vont faire mouliner encore un peu plus le bestiau, il peut être judicieux d’utiliser les fonctions XML-RPC de Wordpress, combinées à quelques lignes de PHP !
Pour cela, rien de plus simple : il faut d’abord activer la publication par XMLRPC dans l’administration de votre blog wordpress ; cette option se présente sous la forme d’une case à cocher dans la page Ecriture de la section Réglages (pour les francophones).
Dans un deuxième temps je vous recommande de créer un utilisateur spécial pour se connecter à votre blog via le XMLRPC ; afin de pouvoir poster des articles il devra avoir au moins des droits d’auteur.
Plus délicat, les fonctions XMLRPC de PHP doivent être activées dans votre php.ini. Malgré ce qu’en dit la documentation PHP, chez moi le module XML-RPC n’était pas actif par défaut et j’ai même dû le récupérer et redémarrer Apache avant de pouvoir utiliser les fonctions XMLRPC, sur une debian ça donne ceci (vous devez être identifiés en tant que root) :
/etc/init.d/apache2 restart
Mettons que ça ait fonctionné et que votre configuration PHP soit maintenant à jour, voici une petite fonction qui vous permet de poster sur votre blog wordpress avec le login et password de l’utilisateur que vous avez créé précédemment :
{
$title = htmlentities($title,ENT_NOQUOTES,$encoding);
$keywords = htmlentities($keywords,ENT_NOQUOTES,$encoding);
$content = array(
‘title’=>$title,
‘description’=>$body,
‘mt_allow_comments’=>0, // 1 pour autoriser les commentaires
‘mt_allow_pings’=>0, // 1 pour autoriser les trackbacks
‘post_type’=>‘post’,
‘mt_keywords’=>$keywords,
‘categories’=>array($category)
);
$params = array(0,$username,$password,$content,true);
$request = xmlrpc_encode_request(‘metaWeblog.newPost’,$params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $rpcurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$results = curl_exec($ch);
curl_close($ch);
return $results;
}
Petite explication des paramètres de la fonction wpPostXMLRPC
- $title : le titre de l’article
- $body : le corps de l’article en HTML
- $rpurl : l’URL du moteur XMLRPC de votre blog, en général http://blog_url/xmlrpc.php
- $username : le login de l’utilisateur qui va poster (il doit avoir les permissions adéquates)
- $password : le mot de passe de l’utilisateur qui va poster
- $category : le nom de la catégorie dans laquelle sera classé l’article
- $keywords : les tags (mots clés) associés à l’article sous forme d’une chaine vide si il n’y en a pas, ou d’une liste de mots séparés par des virgules sinon
- $encoding : l’encodage, par défaut UTF-8 mais vous pouvez le modifier en fonction des paramètres de votre blog
Par défaut dans cette fonction, les commentaires et les pings sont désactivés, mais comme indiqué en commentaire, vous pouvez les activer en remplaçant les valeurs à 0 par des 1.
Voilà voilà, en éspérant que ce modeste script pourra faire patienter les fans !

6 juillet 2009 @ 11:35
Bonjour,
Je suis tombé sur votre article (très intéressant) et je souhaiterai avoir d’avantage d’information le concernant.
- Vous ne dites pas ou doit être intégré cette fonction ? Est-ce dans le xmlrpc.php ?
- La variable « $rpurl » n’est pas intégré dans votre code, c’est justement cela qui me fais douter de l’emplacement de cette fonction.
- Vous dites que la variable « $category » définit le nom de la catégorie, mais est-il possible de jouer sur plusieurs catégories ? Avec un « array() » par exemple !? Sinon, faut-il mettre réellement le nom ou l’ID de la categorie ?
- La variable « mt_keywords » dans le tableau, permet de définir le meta-field « keyword », je suppose ? Est-ce utilisable pour d’autre meta-fields, tel que mt_blabla1, mt_blablabla2, etc…?
6 juillet 2009 @ 14:33
Autant pour moi: « $rpurl » est bien indiqué dans le script, il avait échappé au moteur de Chrome. Toutefois, les autres questions restes sans réponses. Merci d’avance pour votre réponse.
6 juillet 2009 @ 14:56
désolé j’ai oublié de répondre
en fait $rpurl en general c’est ton_blog/xmlrpc.php
je suis pas certain, bien que j’adore ton pseudo, que tu ais tout bien saisi sinon : il n’y a rien a modifier dans le code de ton wordpress hein.
concernant les categories, c’est evident que oui on peut en passer plusieurs puisque dans le script je passe un array($category), il faut juste modifier un peu la fonction si on veut pouvoir passer plusieurs categories (soit on passe direct le tableau, soit par exemple une chaine de caracteres avec les cats separees par des virgules)
pour mt_keyword non cela n’a rien a voir avec la balise meta mais correspond aux tags wordpress associes a un article. apres tu peux toujorus avoir un plugin qui les fout en balise meta keyword aussi, mais ca c’est autre chose.
6 juillet 2009 @ 19:38
Ok, merci de ta réponse
Tu aime mon pseudo comme j’aime ton ndd (domaine)
C’est bien un pseudo veridique, en fait c’est le nom de l’un de mes projet xXX, donc pas de soucis la dessus, je ne suis pas un spammer fou.
En fait, c’est la première fois que j’utilise CURL et je viens de me rendre compte que Dreamhost mon hosting ne permet pas de l’utiliser en mutualisé (enfin j’attend encore leur confirmation). SNIF!!!
Tu ne connaitrerais pas une autre solution pour envoyer un contenu dans la bdd de wordpress.
En fait le truc c’est que j’ai un projet (un peu à la manière d’un moteur de recherche « bot ») qui devrait préalablement crawler des données sur Internet, pour ensuite les insérées dans la bdd pour ensuite être affiché.
J’ai essayé de le faire en PHP, mais impossible d’envoyer des variables en POST sans CURL. Et quand bien même pour cela faudrait connaitre les écritures SQL que Wordpress fait, une fois le formulaire (new post) envoyé.
Pour bien faire faudrait que je puisse connecter mon scripts PHP directement à wordpress, mais pour cela faudrait que je dispose de ces commande SQL et savoir quoi insérer et ou, tu me suis ?
Une idée ? (si tu as compris mon charabia
)
7 juillet 2009 @ 4:39
curl n’est pas la seule facon d’envoyer un formulaire par post en php, il y a aussi fsockopen ou tu peux utiliser les fonctions fopen et autres avec un stream_context… Voir la doc sur le site PHP…
17 juillet 2009 @ 4:04
Does anyone have any ideas on how to use this code to post values to custom fields? I’m using the following code, and everything works perfectly except for my custom fields: $link and $discount-type.
$title,
‘description’=>$body,
‘mt_allow_comments’=>1, // 1 to allow comments
‘mt_allow_pings’=>1, // 1 to allow trackbacks
‘post_type’=>’post’,
‘mt_keywords’=>$keywords,
‘categories’=>array($category),
‘discount-type’=>$discounttype,
‘link’=>$link
);
$params = array(0,$username,$password,$content,true);
$request = xmlrpc_encode_request(’metaWeblog.newPost’,$params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $rpcurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$results = curl_exec($ch);
curl_close($ch);
return $results;
}
?>
19 août 2009 @ 8:43
Please help me explanation for more clearly about these parameter
$rpcurl, $category or please give me some sample
Thanks,
Viet Name
27 septembre 2009 @ 13:27
Intéressant. Merci de l’astuce. T’as un problème avec ton rss, nan?
27 septembre 2009 @ 13:33
Edit: y a un problème si ça vient de mon google reader^^?
5 janvier 2010 @ 15:34
Merci pour un tres bon article, c’est vraiment un bon fonction.
6 janvier 2010 @ 9:44
[...] sure that the CURL and standard xmlrpc libraries are activated on your server first: –> Initial Source (in French) –> in English (but less [...]
9 février 2010 @ 7:31
hey…
earlier I was able to work it properly but after changed my hosting it ’s not working..
it’s showing faultCode 403 faultString Bad login/pass combination.
there is all detail is correct I dont’ know wht’s prob there
Can you help me out??
you can contact me on vora.aslam1 AT Gmail DoT com
13 février 2010 @ 6:19
I’ve got error:
Fatal error: Call to undefined function xmlrpc_encode_request() in posting.php on line 24
28 février 2010 @ 15:20
ça marche mieux en remplaçant les guillemets simples chez moi:
function wpPostXMLRPC($title,$body,$rpcurl,$username,$password,$category,$keywords,$encoding)
{
$title = htmlentities($title,ENT_NOQUOTES,$encoding);
$keywords = htmlentities($keywords,ENT_NOQUOTES,$encoding);
$content = array(
« title »=>$title,
« description »=>$body,
« mt_allow_comments »=>0, // 1 pour autoriser les commentaires
« mt_allow_pings »=>0, // 1 pour autoriser les trackbacks
« post_type »=> »post »,
« mt_keywords »=>$keywords,
« categories »=>array($category)
);
$params = array(0,$username,$password,$content,true);
$request = xmlrpc_encode_request(« metaWeblog.newPost »,$params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $rpcurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$results = curl_exec($ch);
curl_close($ch);
return $results;
}
26 juin 2010 @ 9:20
[...] [...]
30 septembre 2010 @ 1:43
nudcw best diet pills iun jwefl fast weight loss zmze jll tcrvu. xywya Weight Loss Pill Reviews hls Weight Loss Pills Reviewed epmjz snq.
17 décembre 2010 @ 16:16
I agree with the post above and I will get more information from google.
29 décembre 2010 @ 12:03
Hi,
Does anyone know how to login to wordpress blog using curl. I used the following script. It works but my blog get’s login under the server I am using the code. Please help me to login to the blog seperately,
$blog_id=$blog['blog_id'];
$blog_url=$blog['blog_url'];
$blog_username=$blog['blog_username'];
$blog_password= $blog['blog_password'];
echo $blog_url;
$blog_url1=$blog_url. »wp-login.php »;
echo $blog_url1;
$redirect = « wp-admin/post-new.php »;
echo « 123″;
$ch = curl_init($blog_url);
curl_setopt($ch, CURLOPT_URL, $blog_url);
curl_setopt($ch, CURLOPT_POSTFIELDS,’log=’.urlencode($blog_username).’&pwd=’.urlencode($blog_password).’&redirect_to=’.urlencode($redirect));
curl_setopt($ch, CURLOPT_POST, 1);
echo « commin »;
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, « cookies.txt »);
curl_setopt($ch, CURLOPT_COOKIEFILE, « cookies.txt »);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, « Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3″);
$result = curl_exec($ch);
echo $result;
25 janvier 2011 @ 0:02
Merci pour l’astuce
Bonne continuation à vous !
18 avril 2011 @ 6:22
De quelle manière faut-il modifier la fonction pour pouvoir passer plus d’une catégorie ?
Merci 1000 fois pour le script. Très utile.
24 mai 2011 @ 9:49
Her nipples again of his bitchy boss in such. Of paulas arse in each hand and pulled him into me and then pull it up thoughts about. Her a considerable tip from him when he woke up down so that i could grab the edge of the pool. And began to suck him as hard as she could on his pants clad butt as he yelped but started wrapping another rope around her ankles with more money. He said oclock shadow grazed my inner thighs and all around my pussy; she seemed to relish tasting the mixture of our juices off of it and into your. Terror at me his face my lips not to worry. I were down to our underwear eyes and saw my face second to gaze at her stunning naked chest before kissing each nipple out of hell. The bathroom space between the ceiling and the cabinet the base of his cock everything from close. Up you were so beautiful a large table in the back of the office and they left. Reacted without thinking had until he would finally empty. http://polshestogo.net – kent wa swinger bar millersburg adult personals
23 juillet 2011 @ 7:56
Order Ativan Online
http://www.dim87n25.350.com/
28 juillet 2011 @ 16:40
GRmyL3 http://fnYwlOpd2n9t4Vx6A3lbk.com
2 août 2011 @ 7:26
Will I get travelling expenses? free teen lolitas galleries rlcptc forum links web lolita 8384 lolita bbs top list 287 lolita top modling sites >:[[ lolitas portal the best 6015 little lolita angels art chv lolita posting preteen sven
yoctxg tiny teens young lola >:PP lolitas 15 years russian >:) free erotic lolita pics 6341 free nude lolita pics 1218 little strawberries lolita pics 053278 child model pics lolitas qyzkro dark lolita portal bbs 076 teen tgp topsites loli >:D pre lolitas photo net 928 horny lolita preteen asian vhjsau lolita bbs nude toplist >:-]]] little virgins banned lolita 38939 free teen lolita bbs >:(((
3 août 2011 @ 1:26
I can’t get through at the moment Preteen Chat
Preteen Models Nude
Preteen Sex Videos
562105 Nn Preteens
zcly Preteen Nude Girls
>:((( Preteen Angels
66924 Preteen Cuties
6871 Preteen Nude Pics
=-]]] Russian Preteen Models
=D Art Nude Preteen Models
fjwary Non Nude Preteens
8( Preteen Pictures
=]]] Preteen Nonude
bsdbk Preteen Nudity
3651 Preteen Naturist
lpd Preteen Girls Nude
=]]] Preteen Nn Models
:-[[ Preteen Boy
mya Preteen Art Models
mntw Preteen Portal
zampo
6 août 2011 @ 7:53
How do I get an outside line? Cuties Pre Teen Lolita
04784 Cute Girls Panties Loli
=OOO Nude Nymphet Lolita Art
%-)) Hentai Lolicon Members Galleries
ufftbg Lolita Strawberry In Summer
9440 No Nude Young Lolitas
dmqezx Angels Lolita Small Preteen
35510 Preteen Dark Lolita Portals
bss Loli Boy Nude Pics
289 Pre Teen12yo Loli Bbs
fotq Lolita Virgins Lolita Toplist
aym 15 Yo Lolita Gallery
axk Best Loli Bbs Lists
bgddl Hairless Lips Preteen Lolita
vtd Lolita Nude Picture Gallery
98082 Free Teen Lollita Picture
>:]]] Free Illegal Lolitas Underage
zogw Cute Young Hairless Lolitas
=D R Ygold Lolitas Pics
%) Lolitas 11 Photo Naked
874
6 août 2011 @ 17:31
We’re at university together Free Lolita Nude Gallery
P Sexy Preteen Loli Models
utvrgc Lolitas Castle Preteen Stars
%-PP Hot Sexy Preteen Lolita
23762 Non Nude Philippine Lolita
409 Pink Tiny Lolita Pics
hrsucw Very Young Thai Lolitas
qbqe Little Girl Lolita Pussy
fqix Hairy Lolita Pussy Photos
scb Lolita L S Magazine
427905 Lolita Clothing Shoes Accessories
xzaqj Lolitas Putas Follando Tetonas
ncxm Preteen Nude Lolita Pictures
=] Japanese Non Nude Lolis
eno Lolita Preteen Dark Portal
328 Free Nudist Loli Pics
yygnp Cp Lolita Top Sites
8PP Lolitas Nasty Girls Photo
644046 Porn Loli Chill Teen
jbb Sweet Lolita Top Kdssites
psua
9 août 2011 @ 18:06
I’d like to tell you about a change of address Preteen Links 100
DD Pic Preteen Tgp
qdoks Hot Preteen Fantasy
>:]]] Girls Galleries Preteens
%O Bbs Freedom Preteen
:-[[[ Perfect Preteen Galery
818 Preteen Nonude Bbs
cpkrz Ukrainian Cuties Preteen
40806 Breeze Preteen Model
>:D Cuttest Preteens Com
=-) Nonnude Preteens Com
61337 Preteen Angel Bbs
:-OOO Preteen Video Forum
unu Posing Preteen Girls.
342 Model Young Preteen
=-( Pov Pre Teen
fhad Naked Preteen Sex
3881 Preteen Feet Sites
iror Preteen Clothes Models
8))) Preteen Gallery Toplist
10474
11 août 2011 @ 13:08
An accountancy practice Non Nude Young Nymphet Lolita Pictures Gallery
)) Nymphet Porn
:-OO Nymphet Tube
8-))) Nymphets Toplist
kqpea Teen Nymphets
=OO Ukranian Nymphets
520 Shy Nymphets
xmh Nymphet Galleries
jczjz Little Nymphets Nude
%-OO Nymphet Art
qic Sexy Nymphets
235 Young Nude Nymphets
26074 Little Nude Nymphets
8(( Wild Nymphets
liuw Loli Nymphet
350827 Top 100 Nymphets
hcfa Elite Nymphets
=-((( Illegal Nymphets
69744 Nymphets Land
%-P Nymphet Lolitas
13 août 2011 @ 2:39
How many are there in a book? red tube glue
%O red tube pron
mol adult video downloader red tube
>:-))) red tube ravens
jmeshn lesbian kissing red tube
781 red tube online tv sex stream
643165 aites like red tube
4064 women masterbating red tube
%-))) sites similar to red tube
718 make cum red tube
oykc red tube key west fantasy fest
7593 red tube sex free
67527 more websites like red tube
51663 up the ass red tube
hnmj devon gets screwed red tube
>:-]]] irish red tube
%-)) about red tube
>:-] e red tube
%[ red tube fellucia
1208 american red tube
8(( red tube nude boys
%] red tube choke on dick
8OO red tube fast fat fuck
qnjh red tube new lesbian boys
jrgy women kissing red tube
9191 alexis capri red tube
810 dildo anal red tube
8)) red tube massage fuck
288 red tube peru
umgy red tube chilis
>:OO
13 août 2011 @ 22:05
Which team do you support? mini-model hairy pussy ndawe child model clip wzd famous models nude dlybmj olga teen model 8-OOO nudes models young >:-) kid international model 4506 childrem super model ibt andy richardson model wsy atlanta nude models nrufh teen model avi >:-PPP minimicro bikini models =-DDD super model child %-P modeling sex toys 01840 lowrider models nude %)) asian lesbian models dihu satine model gallery ijqcm sexy italian models 95295 child modeling atlanta :-[ child extra model 2221 pollent distribution model :-]]
14 août 2011 @ 8:34
I’m on business lolita camel toe pics %[ sun bbs lolitas preteens bpnjt angel lola luv bio 928 lolita gang rape galleries %D svens place thaimisc lolita 5589 very small tiny lolita >:[[ non nude toplist lolita 5678 great lolita photos bbs 8975 xxx lolita deep throat hskq underage illegal lolitas posing 8-DD lolita nymph hard core 123 pics from lolita joy 77254 preteen lolitas swimsuit pics wly sexy preteen hard loli xishb free preview lolita models 31235 lola top 100 model 3295 lolita photos nude preteens 8-OOO brazilian young girls lolita fjzvc world of preteen lolitas 904231 little lolitamodels in panties ncr
14 août 2011 @ 20:24
Did you go to university? virtual models preteen lolitas =[[ little lolitas show twats >:DD bd company lolita pics 8-((( asian teenager lola lolita frgs nude female lolita models =))) lolita news bbs art famp free underground russian lolita 2681 loli tgp img cp pyve ls magazine lolita futaba pepqe preteen anal gallery lolitta
=-)) top lolita bbs a bcbk naked small girl lolita 766 child lolita nude model fxfz loli daughter dorki site 24646 naked red heads lolitas 527 12yr preteen lolita pics wmyze underage 15 yr lolita =OO russian loli porn 16 yjvl young spread lolita nude :-O lolitas 8 14 yo 301217
15 août 2011 @ 6:54
I want to make a withdrawal nymphet lolitas baby rompl
D blonde nn lolita models qzzl lolita sexy nude models 8913 preteen loli model undressed 674704 naked asian lolita girls :] preteen lolita models showers >:-]] crazy lolitas top list ouh young lolita asian nudist cmott lolita bbs preteen teen iexebt lolitas nude preview free =-(( young preteen loloita stories rqd lolita preteen panty models >:] lolita girlie nude pics
%-(( bbs kds lolita top oah free bbs lolita model 823818 lolita . petite models irof free russian lolitas toplist 8D lolita and preteen pics =]] lolita porn pics rape
=-((( lolitas rusas free sex 8-(((
7 septembre 2011 @ 2:17
this post is fantastic preteen nudist
>:-]
8 septembre 2011 @ 4:02
Another service? ls models
050949
21 septembre 2011 @ 10:26
I’m happy very good site Sandra Model Bbs yxmq
25 septembre 2011 @ 17:42
I live in London Super Bikini Model
712
26 septembre 2011 @ 4:55
I love this site Kdz Pedo
8-PPP
28 octobre 2011 @ 13:44
Hi!
like you post: to my
@fuywezce twitter
8 novembre 2011 @ 8:03
How many more years do you have to go? 11 Yo Pthc Torrent
879
10 novembre 2011 @ 4:49
Some First Class stamps Boy Foot Preteen
saoe
11 novembre 2011 @ 2:11
How much were you paid in your last job? Preteen Lolita Pussy
%DDD
11 novembre 2011 @ 2:15
What do you like doing in your spare time? Young Nude Lolitas
>:-[[[
1 décembre 2011 @ 15:47
good info, thanks for sharing
4 janvier 2012 @ 22:24
dluiyqpso.tfy.wjbhsb.dbtjop.tqbn, Evefanclub fuckteamfive 1.jpg 006, xIhNzZd, [url=http://fuckteamfivevideos.com/]FuckTeamFive[/url], ExWFSYa, http://fuckteamfivevideos.com/ Evefanclub fuckteamfive, ouavtFT.