Forcer modification d'URL WordPress

Halala encore des tracas avec mon wordpress. En voulant tester un peu vite un sous-domaine que 1and1 devait m’avoir défini j’ai modifié l’adresse du blog dans la partie administration du site au niveau du menu réglage -> général l’URL (pour la passer en http://www.yudi.fr/).

Grand dieu qu’ai je fait!! Plus rien ne marche! Le thème du site tire la tête, impossible de retourner dans la partie administrateur … je suis piégé!

Du coup pas de panique, quelqu’un a bien du avoir le même problème. Je parcours un grand nombre d’articles dédié à la modification d’URL, tous précisent qu’il faut vraiment faire attention à modifier les URL depuis la partie administration AVANT de déplacer le site. Echec. Quelque propositions sont quand même présentes sur des forums, en particulier modifier le fichier wp-config.php.

Option 1 forcer l’adresse du site

define(‘WP_HOME’,’http://mysite.com’);

define(‘WP_SITEURL’,’http://mysite.com’);

Echec.

Option 2, dire à wordpress que l’on est en train de changer d’adresse.

define(‘RELOCATE’,true);

Echec.

Je me rabats sur une étude détaillé de mon répertoire wordpress à l’aide de multiples find et grep, aucun « www.yudi.fr » …. Gnaaa…. C’est donc dans la base de données!

Eurêka! Une fois connecté sans aucun problème à ma base, je trouve la table wp_options (si vous avez gardé wp_ comme préfixe!) il existe une option « siteurl » qu’il vous suffit de mettre à jour … et tout remarche!

Mon conseil serait quand même : ne modifier ce champs au travers de la console d’administration que si vous êtes sur de la nouvelle adresse à renseigner!

Envoyer des mails depuis un serveur unix avec mailx!

La méthode mailx est très largement utilisée pour envoyer des mails depuis un serveur unix. Problème, dans la majorité des sources que l’on trouve sur internet on peut soit envoyer une pièce jointe, soit envoyer un contenu …. A la limite en passant par un fichier plat certaines méthodes permettraient d’envoyer un texte suivi de fichier texte … bref pas top!

Rassurez vous, rien de bien sorcier pour arrivez à vos fins! Pour envoyer un « message » au « destinataire » depuis l’adresse mail « mailFrom » avec en objet « object » et en pièce jointe « ficlog » … c’est la commande suivante!

(echo « ${message} \n » ; uuencode ${ficlog} ${ficlogName}) | mailx -s « ${object} » -r « ${mailFrom} » « ${destinataire} »

Dans la première partie on concatene le texte du message avec le fichier « ficlog ». Le retour a la ligne est très important pour séparer les deux éléments. Il est nécessaire de transcoder le fichier avec uuencode afin que le mail reconnaisse un encodage de pièce jointe. Dans le mail, le fichier aura comme nom le contenu de la variable « ficlogName ». Le reste du mailx est assez classique … bien évidement pour que le mail parte il faut que au niveau système le serveur de mail ait été bien paramétré!

Vous n’êtes pas obligés de mettre des guillemets autours des variables mais au moins pas de problème avec les espaces si vous entrez en dur du texte à la place d’une variable!

Gérer sa mémoire sous wordpress

Que celui qui n’a jamais vu un Out of Memory avec un blog wordpress sous 1and1 me jette la première pierre!! En voulant mettre à jour l’image d’entête de mon thème, patatra :

Fatal error: Out of memory […]  in media.php on line 258

Après les classiques modifications de php.ini (cf ce très bon article qui m’a resservi!) assorti d’une modification de la taille maximales de fichier uploadés (lui aussi ajouté dans php.ini)…

upload_max_filesize = 10M

Je me dis que quand même des gens ont du se poser la question et développer des plugins permettant de gérer ce sujet de manière un peu plus automatique. Eurêka!! Il existe des plugins, j’en choisi deux :

WP Overview (lite) Footer Memory Usage
Change Memory Limit

 Le premier ajoute dans votre tableau de bord un tableau récapitulatif de votre configuration wordpress / php pour l’usage de la mémoire ainsi que de nombreuses informations sur le niveau de votre php, base de données, les fonctionnalités WP activés … bref un bon outil de suivi!
Le deuxième est censé permettre la mise à jour automatique du paramètre WP mémoire. Techniquement ça semble marcher (modification effectuée dans le bon fichier) par contre bizarrement le premier plugin ne se met pas à jour!! Peut être y a t il un temps minimum avant prise en compte du nouveau paramètre … affaire à suivre!
En tout cas je ne peux que vous recommander d’aller faire une petit tour dans vos extensions pour être sûrs de votre configuration!

Transcoder un répertoire de macRoman vers UTF-8

Cette après midi je me suis penché sur un problème idiot, dans le cadre d’un projet java j’ai commencé à travailler sur mon mac. Le java étant portable, j’ai voulu le tester sous windows et là … échec. Tous les accents et autres caractères spéciaux ne sont pas reconnus et rendent très mal à l’écran.

Le projet est trop avancé pour tout modifier à la main, il faut une méthode automatique. Pour ce faire, aller dans un terminal, rendez vous dans le dossier à transcoder et utiliser la commande suivante

for i in *.java; do iconv -f macRoman -t utf-8 $i > u$i; done

Le principe : dans le répertoire, pour tous les fichiers se terminant par java, changer l’encodage de macRoman vers utf-8. Le fichier « Fichier.java » transcodé sera renommé en « uFichier.java ». Vous pouvez aussi jouer avec un ../transo/$i pour créer un répertoire transco qui contiendra les fichiers transcodés et seulement eux!

Et hop le tour est joué. Une fois retourné dans Eclipse,il ne faut pas oublier de changer le setting de l’encodage pour que le nouveau format soit pris en compte!

Ne pas afficher d'articles sur une page « showcase » du thème Twenty Eleven

Ce matin j’ai décidé de modifier une des pages d’un site sur lequel je travaille afin de ne pas remonter la colonne latérale sur celle ci. Le modèle ‘showcase’ présent par défaut me semble tout indiqué, malheureusement il a l’inconvénient de récupérer les derniers articles publiés et d’afficher dans son intégralité le premier de ceux ci.

Comment faire ? Direction l’éditeur de thème! (Dans la console administrateur -> Thème -> Editeur). Je sélectionne ensuite « Modèle de page showcase Templace (showcase.php). Je repère la partie du code qui permet d’afficher le premier article :

if ( $recent->have_posts() ) : $recent->the_post();
// Set $more to 0 in order to only get the first part of the post.
global $more;
$more = 0;
get_template_part( ‘content’, get_post_format() );
echo ‘<ol class= »other-recent-posts »>’;
endif;

Pour faire ma modification il suffit de commenter cette partie et d’extraire la mise à jour du « modèle d’affichage » des billets afin de conserver la version « réduite » pour l’affichage des posts récents (y compris le premier post, comme il n’aura pas été lu dans la partie du code que nous venons de commenter il sera présenté en version réduite lui aussi!)

/**
if ( $recent->have_posts() ) : $recent->the_post();
// Set $more to 0 in order to only get the first part of the post.
global $more;
$more = 0;
get_template_part( ‘content’, get_post_format() );
echo ‘<ol>’;
endif;
*/
get_template_part( ‘content’, get_post_format() );

Un exemple valant mieux que de longs discours, ça se passe ici !