Créer une metabox d’information sur l’auteur dans l’administration WordPress

Si vous administrez un site multi-utilisateurs, comme un blog communautaire ou un site de Communiqués de Presse SEO par exemple, vous êtes sûrement confrontés à la problématique de la modération des utilisateurs. Il est parfois nécessaire d’accéder à la page d’édition du profil d’un utilisateur, le plus souvent pour modifier son rôle sur le site.

Aujourd’hui, je vous propose de rajouter une metabox sur la page d’ajout et d’édition d’articles, qui ne s’affichera qu’aux administrateurs du site, et leur permettra de pouvoir aller directement sur le profil de l’auteur de l’article, sans passer par la liste de tous les utilisateurs, sans effectuer une recherche parmi les utilisateurs, sans passer par la case départ et malheureusement sans toucher 20 000F. Lire la suite

Autoriser l’upload de medias par les contributeurs

Le rôle Contributeur est très utile sur les sites multi-utilisateurs puisque très restrictif. En effet, un contributeur ne peut qu’ajouter un article, l’éditer ou le supprimer, puis le soumettre à la relecture. Les articles ainsi proposés peuvent donc être relus par un éditeur ou un administrateur, qui pourra alors choisir de les publier ou non.

Cela dit, le rôle de contributeur est parfois un peu trop limité : par défaut, WordPress interdit aux contributeurs l’upload de médias via le fameux menu Envoyer/Insérer :

La fonction Envoyer/Insérer de WordPress
Lire la suite

Générer un extrait automatique pour chaque article

L’extrait dans WordPress est un court résumé du texte que l’on peut afficher à différents endroits du thème, notamment pour éviter que le contenu entier du texte ne soit dupliqué sur la page d’accueil, la page de l’article, les pages d’archives, de catégories, de tags …

Si la fonction native de WordPress the_excerpt() permet d’afficher l’extrait configuré dans l’interface d’administration, ou à défaut les 55 premiers mots de l’article (en retirant les éventuelles balises de code source), ce comportement n’est pas toujours adapté à nos usages.

Suite à la demande de l’ami Bruno Hug, je vous propose une petite fonction à placer dans le fichier functions.php de votre thème, pour personnaliser quelque peu le comportement de WordPress concernant l’extrait. Lire la suite

Supprimer totalement les tags

WordPress propose l’utilisation de tags pour offrir un deuxième moyen de catégoriser les articles. Je ne reviendrai pas ici sur les différentes raisons (notamment la duplication de contenu) qui poussent de nombreux webmasters adeptes du SEO à ne pas les utiliser et/ou en empêcher l’indexation par les moteurs de recherche. Je partage plutôt cet avis, et je trouve que, quitte à ne pas s’en servir, autant éviter de les voir :p

Je vais donc vous expliquer comment supprimer totalement les tags de votre blog WordPress. Lire la suite

Supprimer les balises HTML dans les commentaires

Par défaut, WordPress autorise l’emploi de nombreuses balises HTML dans les commentaires de votre blog. Cela permet notamment à des bots de soumettre des commentaires bourrés de liens sur vos articles les plus populaires. Même si Akismet permet de filtrer la plupart des commentaires indésirables, deux précautions valent mieux qu’une.

Ajoutez tout simplement la ligne suivante dans le fichier functions.php de votre thème :

add_filter( 'pre_comment_content' , 'wp_strip_all_tags' );

Avant chaque enregistrement d’un commentaire dans la base de données, la fonction wp_strip_all_tags() est appliquée au contenu de ce commentaire. Comme nous l’avions vu pour supprimer le HTML dans les titres, cette fonction supprime purement et simplement toutes les balises HTML, le code PHP ou les scripts JavaScript.

Petite précision cependant : une fonctionnalité native de WordPress permet de rendre cliquable les url brutes présentes dans les commentaires. Le code présenté ci-dessus ne retire pas ces liens. Il vous sera donc toujours possible d’indiquer un lien vers un article complémentaire dans vos commentaires.

Ajouter un test anti-spam à l’inscription

Les blogs collaboratifs et autres plateformes de blogs attirent bien souvent les spammeurs, qui utilisent des scripts automatisés pour s’y inscrire, puis publier du contenu de très faible qualité. Pourtant, ces robots ne sont pas très malins, et il est assez facile de les piéger, et de les empêcher de s’inscrire sur votre site.

Je vous propose donc de rajouter un champ au formulaire d’inscription : une question toute simple ne posant aucun problème à un humain normalement constitué, mais compliquant très sérieusement la tâche des robots.
Lire la suite

Widget d’affichage des derniers articles

Un des widgets WordPress les plus utilisés est celui qui permet l’affichage des N derniers articles du blog. S’il est très utile sur les pages internes, c’est à dire toutes sauf la page d’accueil, il ne fait que rajouter des liens redondants sur cette dernière.

Pour remédier à ce léger problème, je vous propose de réaliser votre propre widget, qui permettra de prendre en compte la page sur laquelle le visiteur se trouve. Pour cela, nous allons utiliser l’API de Widgets WordPress. En plus de l’aspect positif vis à vis du référencement naturel de votre blog (on évite ainsi des liens dupliqués puisque les derniers articles sont déjà visibles sur la homepage), ce sera l’occasion de vous familiariser avec la création de widgets WordPress.

Nous allons donc ajouter quelques lignes de code au fichier functions.php de votre thème. Pour comprendre plus facilement l’intérêt de chaque méthode, nous allons voir chacune d’elle en détail, mais les plus pressés peuvent aller directement à la fin de l’article pour récupérer le code complet.
Lire la suite

Ajouter des boutons de partage sociaux à la fin de chaque article

Le web devenant, ou plutôt étant devenu social, la renommée de votre site ne passe désormais plus seulement par le référencement naturel ou la publicité en ligne, mais également par les réseaux sociaux. L’internaute étant un animal proche du paresseux, il est important de lui donner la possibilité de fournir le moins d’efforts possibles.

Avec le code que je vous propose ci-dessous, des boutons de partage vers les réseaux sociaux seront ajoutés automatiquement à la fin de chacun de vos articles. C’est de cette façon exactement que sont affichés les boutons en question à la fin de chacun des articles de ce blog.
Lire la suite

Supprimer le html dans le titre des articles

Par défaut, WordPress autorise l’emploi de code HTML dans les titres des articles et des pages.
Mise en place sur demande de certains utilisateurs, cette fonctionnalité peut présenter plusieurs problèmes, notamment lorsque le CMS est utilisé par plusieurs utilisateurs.

Pour empêcher l’insertion de balises HTML dans les titres, une solution est d’insérer le code suivant dans le fichier functions.php de votre thème :

if (!function_exists('dfr_remove_tags_from_title')) :
  add_action( 'save_post', 'dfr_remove_tags_from_title', 10, 1);
  function dfr_remove_tags_from_title($post_id) {
    global $wpdb;

    $title = wp_strip_all_tags(get_the_title($post_id));

    $wpdb->update( $wpdb->prefix . "posts", array('post_title'=>$title), array('ID'=>post_id));
  }
endif;

Au moment où l’article est sauvé dans l’interface d’administration, notre fonction remove_tags_from_title() est appelée. Elle prend en compte un paramètre : l’id du post que l’on va sauvegarder en base de donnée.

On récupère ensuite le titre de cet article, et on lui applique une fonction interne à WordPress : wp_strip_all_tags(), inspirée de la fonction PHP native strip_tags(). Cette fonction retire purement et simplement toutes les balises HTML, mais aussi le code PHP, le JavaScript et le CSS inline, pour ne conserver que le texte.

Il n’y a pas de page d’explications sur cette fonction dans le Codex WordPress, mais vous pourrez en savoir plus sur w4dev.

Astuces WordPress, SEO et compagnie

Et voilà, je lance (enfin) un nouveau site pour vous présenter quelques astuces de développement WordPress et de Référencement naturel.

Depuis plusieurs années, en tant que référenceur et quand je bidouille des sites sous WordPress, je réunis de nombreuses astuces dans l’optique d’un jour, les partager avec le reste de l’Internet. Vous trouverez donc ici régulièrement quelques hacks WordPress, des tests, des avis, ou des astuces de référenceurs que j’utilise, régulièrement ou non.

Je profite de ce billet pour vous prévenir : ce sont des choses que j’utilise, et/ou que j’ai mises au point par moi-même. Je ne garantis absolument pas qu’il s’agisse à chaque fois de la meilleure façon de résoudre un problème, et vous encourage à partager votre solution en commentaire.

Certains d’entre vous se demanderont certainement en arrivant ici pourquoi j’ai choisi d’ouvrir ce blog, alors que j’aurais très bien pu faire la même chose sur mon ancien blog, qui est ces derniers temps un peu à l’abandon. La raison principale qui me pousse à créer un nouveau site est ma volonté de séparer le contenu plutôt loufoque de ce que je peux écrire d’un peu sérieux. Cela veut dire que je continuerai certainement à écrire sur mon autre blog, au même rythme donc une fois par an environ :p

L’enjeu est aussi de me forcer à prendre de bonnes habitudes, notamment en animant ce blog régulièrement. J’espère donc m’y tenir, au moins tant que j’aurai des choses à dire 🙂

Bonne lecture à vous !