Hacks WordPress
Les meilleurs hacks WordPress
Ce que la communauté WordPress appelle des "hacks" sont tout simplement des "snippets", des petits bouts de code intégrables dans un thème WordPress et qui ont pour but de mettre en place une fonctionnalité particulière.
Ajouter un lien de partage de votre article vers Twitter et Facebook
Ce petit hack permet d'ajouter en bas de chaque article un lien HTML qui va publier sur le compte Twitter ou Facebook du lecteur un lien vers votre article.
Ouvrez le fichier single.php de votre thème et placez vous dans la boucle WordPress, elle commence par if (have_posts()) : while (have_posts()) : the_post(); à l'intérieur de cette boucle se trouve les appels à différents tags WordPress : afficher le titre de l'article, son lien, le contenu de l'article, sa date de publication, ses catégories, etc.
Placer le code suivant où vous le souhaitez à l'intérieur de la boucle :
<a href="http://twitter.com/home?status=Je lis actuellement <?php the_permalink(); ?>" title="Partager sur Twitter">Partager sur Twitter</a>
Ce hack est très simple à comprendre, nous faisons un lien hypertexte vers le système de partage de Twitter et nous utilisons le tag WordPress the_permalink qui permet d'afficher l'url de l'article et qui apparaitra dans le tweet du lecteur.
Pour Facebook, la technique est quasiment la même mais Facebook propose en plus dans son sytème de partage d'ajouter le titre de l'article, c'est pourquoi nous allons utiliser le tag the_title
<a href="http://www.facebook.com/sharer.php?u=<?php the_permalink();?>&t=<?php the_title(); ?>" title="Partager sur Facebook">Partager sur Facebook</a>
Mettre en place un fil d'Ariane sur WordPress
Les "breadcrumbs" ou fils d'Ariane sont une aide à la navigation sur votre blog. Ils permettent aux lecteurs de savoir où ils se trouvent sur le site actuellement et les aide à naviguer. Concrètement, un fil d'Ariane se situe généralement dans le haut du site et ressemble à ceci :
Vous êtes ici : Accueil » Catégorie » Titre de l'article
Bien qu'il existe des plugins capables de mettre en place ce système, nous pouvons nous en passer en utilisant une astuce très simple ! Ouvrez le fichier functions.php de votre thème (créez le si il n'existe pas) et ajouter le code suivant :
<?php function the_breadcrumb() { if (!is_home()) { echo '<a href="'; echo get_option('home'); echo '">'; echo "Accueil"; echo "</a> » "; if (is_category() || is_single()) { the_category(" /"); echo " » "; echo get_the_title($post->post_parent); } } } ?>
Explications : notre fonction the_breadcrumb ne s'active que lorsque nous sommes sur une page différente de la page d'accueil (!is_home()). Elle crée un premier lien hypertexte vers la page d'accueil (get_option('home')). Elle affiche ensuite des liens vers les catégories à l'aide du tag the_category() et pour finir elle affiche le titre de l'article.
Il ne reste plus qu'à ajouter l'appel à cette nouvelle fonction dans la boucle WordPress du fichier single.php du thème à l'endroit où vous souhaitez afficher le fil d'Ariane :
<?php the_breadcrumb(); ?>
Le fil d'Ariane affiché sera comme ceci :
Accueil » Non classé » Bonjour tout le monde !
Afficher le gravatar de l'auteur de l'article sur un blog
Un gravatar est un avatar (une image) associée à votre adresse email. Lorsque vous déposez un commentaire sur un blog qui utilise les gravatar, le votre s'affichera automatiquement à coté de votre commentaire !
Si vous souhaitez afficher le gravatar de l'auteur de l'article, il suffit d'ajouter ces deux petites lignes de code dans la boucle WordPress du fichier single.php de votre thème :
<?php $email = get_the_author_email(); echo get_avatar($email, '96'); ?>
Explications : on récupère l'adresse email de l'auteur à l'aide du tag get_the_author_email puis on fait appel à la fonction get_avatar en lui passant en paramètre l'email de l'auteur et la taille en pixels de l'avatar. Et c'est tout !
Exclure des catégories du flux RSS WordPress
Si vous souhaitez exclure certains catégories d'être publiées dans votre flux RSS, ajoutez simplement ce code dans le fichier functions.php de votre thème :
function myFilter($query) { if ($query->is_feed) { $query->set('cat','-5'); // Identifiants des catégories à exclure } return $query; } add_filter('pre_get_posts','myFilter');
Changer la longueur de l'extrait WordPress
Si vous souhaitez choisir vous-même la longueur des extraits des articles (tag : the_excerpt()), copiez-coller ce code dans le fichier functions.php de votre thème :
function new_excerpt_length($length) { return 100; } add_filter('excerpt_length', 'new_excerpt_length');
Choisir le nombre de sauvegardes automatiques
WordPress sauvegarde toutes les modifications des articles et des pages pour que vous puissiez revenir à une version antérieure si besoin. Cette fonctionnalité, bien qu'intéressante est très gourmande en base de données. Pour limiter le nombre de sauvegarde, ajoutez la ligne suivante au ficher wp-config.php (où 5 est ici le nombre limite de sauvegardes/article) :
define ('WP_POST_REVISIONS', 5);
Proposer un lien pour imprimer un article
Pour faire simplement un lien qui permettra à vos lecteurs d'imprimer un article, ajoutez cette ligne à l'endroit que vous voulez dans le fichier single.php de votre thème :
<a href="javascript:window.print()">Imprimer cet article</a>
Ajouter une phrase au flux RSS de WordPress
Pour ce faire, ajoutez simplement ces quelques lignes dans le fichier functions.php de votre thème :
<?php function insertTxt($content) { $content = $content.'<hr />Mon texte !<hr />'; return $content; } add_filter('the_excerpt_rss', 'insertTxt'); add_filter('the_content_rss', 'insertTxt'); ?>
Fermer automatiquement les commentaires sur les articles de plus de 30 jours
Ce code, placé dans le fichier functions.php de votre thème fermera automatiquement les commentaires et les pingbacks sur les articles de plus de 30 jours :
<?php function close_comments( $posts ) { if ( !is_single() ) { return $posts; } if ( time() - strtotime( $posts[0]->post_date_gmt ) > ( 30 * 24 * 60 * 60 ) ) { $posts[0]->comment_status = 'closed'; $posts[0]->ping_status = 'closed'; } return $posts; } add_filter( 'the_posts', 'close_comments' ); ?>
Masquer la version de WordPress
Pour plus de sécurité, il est généralement conseillé de masquer le numéro de version de WordPress qui est affiché dans le code source de son blog. Ajoutez simplement cette ligne dans le fichier functions.php de votre thème :
remove_action('wp_head', 'wp_generator');
Limiter la recherche sur le blog
Si vous souhaitez limiter le système de recherche de votre blog des catégories spécifiques, ajoutez le code suivant (en choisissant les ID des catégories) au fichier search.php de votre thème :
<?php if( is_search() ) : $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts("s=$s&paged=$paged&cat=1,2,3"); endif; ?>