WordPress : récupérer la liste emails des membres et commentateurs photo

WordPress : afficher un shortcode dans un article, une page ou une template

wordpress_icon_blue

M’étant quelque peu arraché les cheveux pendant les vacances pour trouver comment afficher correctement un shortcode dans une template WordPress, voici comment afficher un shortcode dans un article, une page ou une modèle de page.

Cela me servira de référence ultérieure mais je suis certain que cela en aidera d’autres.

Créer un shortcode

Pour créer un shortcode, on crée une fonction puis le shortcode associé dans le fichier functions.php du thème WordPress :

/* Fonction */
function sky_hello_readers($content) {
return 'Hello readers !';
}

/* Création du shortcode avec add_shortcode() */
add_shortcode( 'hello', 'sky_hello_readers' );Code language: PHP (php)

Lire la suite

WordPress : récupérer la liste emails des membres et commentateurs photo

WordPress : retrouver le bouton “Publier”

Problème : plus de bouton “Publier” sous WordPress

wordpress_icon_blue Juste après la migration des bases MySQL, alors que je pensais que tout était bon, je vais sous WordPress pour raconter mes aventures et… plus de bouton “publier” mais un bouton “Soumettre à relecture” comme pour les guests ! Tout cela alors que je suis loggué comme admin, il y a un truc qui cloche.

Après avoir cherché un peu, il s’avère que j’ai copié directement les fichiers de bases de données mais que MySQL n’a pas les droits dessus. Du coup, toutes les tables sont en lecture seule, comme me l’a indiqué une petite requête simple :

Failed to save field : SQL alter table `wp_posts` modify `ID` bigint(20) unsigned not null default NULL auto_increment failed : Table 'wp_posts' is read only

Solution : attribuer les bases de données à mysql

Vous avez besoin de modifier les droits d’accès et d’écriture des fichiers de bases de données. Il faut soit se connecter à distance en SSH sur votre serveur ou en local sur votre machine et lancer la commande chown.

On se met donc dans le répertoire de travail de MySQL :

cd /var/lib/mysql/

et on attribue à l’utilisateur mysql les droits à nos bases de données :

chown -R mysql:mysql *

Lire la suite

wordpress-permalinks-postname

WordPress : changer la structure des permaliens

wordpress_icon_blue Il y a quelques semaines, j’ai décidé de changer la structure des permaliens (ou permalinks) sous WordPress.

Je me suis rendu compte que finalement, il y avait très peu d’intérêt à garder la date de création de l’article dans l’URL étant donné qu’elle est présente dans chaque article, cela permet de raccourcir les URLs et mes articles sont plutôt timeless.

Cela se fait en 2 étapes, en 5 minutes top chrono.

Etape 1 : changer la structure des permaliens WordPress

C’est tout simple, il suffit de se rendre dans Settings > Permalinks et de sélectionner Post name:

wordpress permalinks postname

Depuis WordPress 3.3, choisir l’option /%postname%/ ne pose plus de problème de performance. C’était le cas auparavant et l’option n’était pas disponible.

Validez les changements.

Lire la suite

Serveur dédié : analyse des performances du serveur photo

Serveur dédié : analyse des performances du serveur

Cela fait quelques mois que le nouveau serveur est en place et il est temps de faire un petit bilan au niveau des performances.

Charge processeur

Tout d’abord, bien que le serveur soit équipé des mêmes caractéristiques techniques (même CPU, même quantité de RAM), il s’avère qu’il est beaucoup plus réactif que l’ancien.

Le processeur n’est plus surchargé en permanence et lorsque l’on lance un top, la charge du processeur est le plus souvent entre 0.05 et 0.20, ce qui est idéal.

A titre de comparaison, l’ancien serveur avait une charge souvent supérieure à 2.

Analyse du temps de chargement des pages via Google Webmaster Tools

Il y a quelques semaines, je me suis connecté sur Google Webmaster Tools et lorsque j’ai atteint le graphique du temps de chargement des pages du site, j’ai eu l’agréable surprise de découvrir ceci :

serveur dedie response time 2011

Lire la suite

Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes photo 1

Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes

ssh plugins logo

Sur mon serveur, j’ai fait le choix de ne pas installer de serveur FTP.

Pourquoi ? Et bien tout simplement parce que le protocole FTP n’est pas du tout sécurisé : les mots de passe sont envoyés en clair sur le réseau, il n’y a aucun chiffrement appliqué sur la connexion et il existe 1001 manières d’en forcer l’accès.

Du coup, je me dis que l’on peut très bien s’en passer. Comme il faut bien que je mette des fichiers sur le serveur ou mettre à jour le site, nous allons utiliser SSH qui est un protocole sécurisé.

Lire la suite

Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish photo

Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish

ip masked icon

Quelques jours après avoir installé et joué avec Varnish, je me suis aperçu que tous les commentaires du site étaient postés avec l’adresse IP 127.0.0.1, qui est l’adresse du reverse-proxy. Pareil dans les fichiers de logs.

Pour solutionner ce problème et retrouver les véritables adresses IP, il suffit d’installer le module RPAF (Reverse Proxy Add Forward) pour Apache.

Le module RPAF

On installe mod_rpaf :

apt-get install libapache2-mod-rpafCode language: JavaScript (javascript)

On l’active :

a2enmod rpaf

puis on édite sa configuration :

nano /etc/apache2/mods-enabled/rpaf.conf

en y ajoutant/modifiant ceci :

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
RPAFheader X-Forwarded-ForCode language: CSS (css)

Lire la suite

Serveur dédié : créer et activer un Virtual Host sous Apache photo

Serveur dédié : créer et activer un Virtual Host sous Apache

icon apache2

Dans le tutoriel précédent, nous avons importé notre base de données et uploadé nos fichiers sur le serveur.

Il nous faut maitenant indiquer au serveur Apache où se trouvent nos fichiers pour qu’il puisse les servir.

L’ajout d’un virtual host (hôte virtuel) ne prend que quelques minutes.

Création du VirtualHost

Nous créons un fichier sous /etc/apache2/sites-available/ qui porte le nom de domaine de notre site, cela permet de s’y retrouver :

nano /etc/apache2/sites-available/www.skyminds.net

Lire la suite

MySQL : résoudre l'erreur "mysql_connect(): Headers and client library minor version mismatch" photo

Serveur dédié : créer la base de données MySQL et importer WordPress

icon mysql

Dans ce tutoriel, nous allons voir comment créer la base de données MySQL et importer notre base WordPress existante.

Ce tutoriel prend environ 15 minutes à réaliser. Tout se fait dans le terminal via une session SSH.

Création d’une base de données

On se connecte au serveur MySQL :

mysql -p -h localhost 

Entrez votre mot de passe du compte root pour MySQL. Vous obtenez un prompt.

On crée une base de données UTF-8, avec une collation utf8_unicode_ci :

CREATE DATABASE skyminds_wp CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Je vous recommande très fortement d’utiliser l’UTF-8 dès le départ. Cela évite bien des soucis qui pourraient survenir ultérieurement avec les caractères accentués.

Lire la suite

Serveur dédié : installation d'Apache, PHP, MySQL et Webmin photo

Serveur dédié : installation d’Apache, PHP, MySQL et Webmin

Ce premier guide est le premier d’une série d’articles consacrés à l’installation de services indispensables pour un serveur dédié.

Aujourd’hui, il s’agit d’installer Apache, PHP, MySQL et Webmin sur notre serveur.

Cela prend environ 20 minutes à réaliser.

Etape 1 : mettre à jour le système d’exploitation

Avant de commencer, on met l’OS à jour :

apt-get update && apt-get dist-upgradeCode language: JavaScript (javascript)

et on ajoute tout ce qu’il faut pour compiler :

apt-get install build-essentialCode language: JavaScript (javascript)

Voilà, nous sommes prêts à démarrer.

Lire la suite

WordPress : optimiser le fichier htaccess pour les permalinks photo

WordPress : optimiser le fichier htaccess pour les permalinks

Toujours à la recherche de ce qui peut optimiser le chargement du site et soulager le serveur, je vous donne ma configuration du fichier htaccess en ce qui concerne les permaliens (permalinks) de WordPress.

Code de base WordPress

Voici le code htaccess standard de WordPress :

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPressCode language: PHP (php)

Lire la suite

Le guest-blogging avec WordPress ou comment permettre à vos membres de soumettre leurs propres articles photo 3

Le guest-blogging avec WordPress ou comment permettre à vos membres de soumettre leurs propres articles

guest-blogging-micro

Il y a quelques semaines, j’ai donné la possibilité aux membres qui le souhaitaient d’écrire leur propre article sur le site.

En me penchant sur la question technique, je me suis rendu compte qu’il existait des plugins WordPress dédiés à cette tâche mais en y regardant de plus près, il se trouve que tous ces plugins effectuent pas mal d’appels à la base de données pour finalement pas grand-chose : un simple formulaire style formulaire de contact, sans contrôles, pour envoyer du texte brut. Pas très user-friendly !

J’ai donc pris une route un peu différente et en utilisant les plugins adéquats, les membres ont pu écrire via la même interface d’administration que celle que j’utilise tous les jours.

J’ai tout épuré au préalable de manière à ne montrer que ce qui est nécessaire pour écrire, modifier un article et joindre des documents comme des images pour illustrer l’article.

Le tout prend environ 10-15 minutes à mettre en place. Voici la marche à suivre, en 4 étapes.

Lire la suite