Mots-clé : wordpress

WordPress, Php et XML rpc – how-to. Explication

WordPress est un outil formidable. Il offre la possibilité d’envoyer des articles à distance.
Pour ce faire, entre autres, les développeurs ont crée une page qu’il faut appeler en lui passant les paramètres adéquats.
Cette page est située à la racine de l’installation de votre site WordPress. Par exemple si vous avez installé WordPress sur http://monsite.com/wordpress/, il faudra appeler la page http://monsite.com/wordpress/xmlrpc.php

Passons maintenant aux choses sérieuses : comment automatiser un envoi d’articles en php ?
C’est extrêmement simple. Je vous donne les indices, et à partir de là, à vous de finir de développer afin d’atteindre votre objectif.

Première chose : il faut que le PC qui doit envoyer les articles ait Php d’installé, avec le support XML rpc. Dit autrement, il faut qu’il soit compilé avec l’option --with-xmlrpc, ce qui n’est pas le cas par défaut. A vous de vous débrouiller tout seul pour arriver à activer l’option. Si vous êtes sous Linux, et que vous avez tout compilé à la main, comme un bon guerrier que vous êtes, il vous suffit d’afficher une page qui éxecute "phpinfo();" et Php vous affichera la ligne de compilation, il vous suffira de recompiler avec l’option --with-xmlrpc.

Une fois cette tâche terminée, il vous faudra activer sur le site WordPress concerné, l’option XML rpc. Il faut se connecter en tant qu’administrateur, aller dans le menu Réglagles » Ecriture » Publication à distance et cocher l’option XML-RPC.

Enfin on y arrive, le code qui se connecte et envoie quelque chose !

  1 <?php
  2 /* Exemple WordPress, Php et XML rpc  */
  3
  4 $request =
  5   xmlrpc_encode_request(
  6     "wp.getUsersBlogs",
  7     array("nom_d_utilisateur", "mot_de_passe")
  8   );
  9 $context =
 10   stream_context_create(array('http' => array(
 11     'method' => "POST",
 12     'header' => "Content-Type: text/xml",
 13     'content' => $request
 14   )));
 15 $file = file_get_contents(
 16   "http://monsite.com/wordpress/xmlrpc.php", false,
 17   $context);
 18
 19 $response = xmlrpc_decode($file);
 20
 21 if ($response && xmlrpc_is_fault($response)) {
 22     print(utf8_encode(
 23       "xmlrpc: $response[faultString] ($response[faultCode])"
 24     ));
 25 } else {
 26     print_r($response);
 27 }
 28 ?>

Donc là vous avez le code.
Pour terminer, toutes les fonctions disponibles sont ici : http://codex.wordpress.org/XML-RPC_wp.
Elles ne semblent pas trop à jour, alors si vous voulez la liste réelle, regardez votre dans le blog, le fichier ./wp-includes/class-wp-xmlrpc-server.php, la fonction wp_xmlrpc_server().
Vous y verrez toutes les fonctions que vous pourrez appeler en XML RPC.

C’est tout de même bien mieux de se faire son outil qui fait les envois d’articles à distance, plutôt que d’en acheter un, non 🙂 ?

Mettre à jour WordPress automatiquement : résoudre une "erreur timeout"

Cet article a été honteusement pompé ici.
Mais je fais l’effort de le traduire en Français (en espérant que ça aide du monde) !

Lorsque vous tentez de faire une mise à jour automatique via le menu « Faire une mise à jour », en cliquant sur le bouton « Mettre à jour automatiquement » et que vous tombez toujours sur l’erreur :

"Le téléchargement a échoué.: Operation timed out after 60 seconds with XXX out of XXX bytes received"
Il vous suffit d’éditer ce fichier :

wp-admin/includes/file.php

Dans ce fichier cherchez le timeout de 60 secondes :

$response = wp_remote_get($url, array('timeout' => 60));

Il vous suffit de changer le « 60 » par un chiffre plus grand. Par exemple moi il avait récupéré un peu plus du tiers : « 994616 out of 2836678 » bytes received. J’ai multiplié le timeout par 3 et tout a fonctionné :

$response = wp_remote_get($url, array('timeout' => 180));

Mise à jour WordPress : demande ftp de mot de passe

Cet article a été honteusement pompé ici.
Mais je fais l’effort de le traduire en Français (en espérant que ça aide du monde) !

Lorsque vous tentez de faire une mise à jour automatique via le menu « Faire une mise à jour », en cliquant sur le bouton « Mettre à jour automatiquement » et que WordPress vous demande des informations ftp avec un nom d’utilisateur et un mot de passe, l’explication est simple : les droits d’écriture dans les répertoires ne sont pas bons. Il vous suffit d’aller changer les droits et d’autoriser l’écriture et hop !

Tout fonctionne !

En espérant que ça aide du monde !