6 fonctions PHP utiles avec WordPress

Par dans Développement 0
6 fonctions PHP utiles avec WordPress

WordPress est aujourd’hui le CMS le plus répandu et le plus populaire au monde avec près de 60% de part de marché des CMS. Il représente même plus de 8 millions des sites disponibles sur Internet à l’heure actuelle.

Si vous vous êtes déjà frotté au développement sous WordPress et notamment de thème spécifique pour vos clients et autres, vous avez déjà pu constater que bien que très complet, le codex du CMS manque parfois de petites subtilités pour des choses particulières.

Je vous propose donc ici quelques fonctions PHP qui pourraient vous être utile, sait-on jamais 🙂 . Je précise que tous les morceaux de code sont à placer dans le fichier functions.php de votre thème.

1. Ajouter un favicon à votre site

Cela peut paraître bizarre mais WordPress n’a rien prévu pour cela. Vous pouvez bien sûr faire un fichier favicon.ico à la racine de votre site, mais disons que ce n’est plus la manière de procéder et que ce n’est en plus pas la plus propre.

function add_favicon() {
    echo '<link rel="icon" type="image/png" href="' . get_template_directory_uri() . '/img/favicon.png" />';
}
add_action('wp_head', 'add_favicon');

Votre fichier de favicon doit être stocké dans un sous-répertoire de votre dossier de thème, je vous laisse modifier le chemin d’accès.

MAJ : WordPress propose désormais un outil intégré pour ajouter un favicon. Cette fonction est donc obsolète.

2. Ajouter diverses META dans le header

Vous pourriez également avoir envie d’ajouter d’autres balises META qui ne sont ajoutées ni par WordPress ni par des plug-ins comme SEO by YOAST.

function jajouteDesMetaDansLeHead()
{	
    echo'<meta name="language" content="fr" /> ';
    echo'<meta name="copyright" content="http://www.toto.fr" />';
    echo'<meta name="author" content="toto.fr" />';
}
add_action('wp_head', 'jajouteDesMetaDansLeHead');

J’ai pris ici au hasard quelques balises, vous pouvez avec cette fonction ajouter à peu près ce que vous voulez dans le header.

3. Supprimer les emoji de WordPress

Les emoji ont été ajoutés au CMS il y a peu de temps et on peut douter de l’intérêt qu’ils comportent notamment si vous développez par exemple un thème pour un site vitrine sans blog. Le problème étant que WordPress chargent des fichiers pour les faire fonctionner et plombe (certes légèrement) les performances de votre site.

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' ); 

4. Personnaliser l’affichage de vos billets de blog

WordPress possède une fonction nommée the_excerpt qui a pour fonction d’afficher un court extrait d’un billet de blog. Cette fonction est classiquement utilisée sur les pages listant les billets de blog comme c’est le cas chez nous ici.

Saviez-vous que vous pouviez personnaliser cette fonction ? Dans le code qui suit, nous modifions la longueur de l’extrait ainsi que l’élément indiquant la fin de l’extrait.

function custom_excerpt_more($more) {
    return '  [...]';
}
add_filter('excerpt_more', 'custom_excerpt_more');

function new_excerpt_length($length) {
    return 25;
}
add_filter('excerpt_length', 'new_excerpt_length');

Il est tout à fait possible de modifier l’élément de fin avec un icône si vous trouvez ça plus esthétique :

function custom_excerpt_more($more) {
    return '<span class="fa fa-ellipsis-h"></span>';
}

5. Nettoyer le Header de WordPess

Si comme nous vous travaillez régulièrement avec ce CMS, vous vous êtes certainement rendu compte qu’au même titre que les EMOJI, WordPress rajoute tout un tas d’informations pas forcément utiles comme les liens RSS (en avez-vous systématiquement besoin sur un site dont le contenu ne change jamais ?). Qui plus est certaines balises ne sont pas forcément judicieuses, comme la meta generator indiquant sous quelle version de WordPress votre site tourne, c’est faciliter la vie aux hackers.

remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);

6. Désactiver l’éditeur de thème

On a beau prendre ses précautions, on est jamais à l’abri d’un vilain pirate qui réussira à voler les identifiants de votre back-office WordPress. Pour limiter les dégâts, je vous recommande fortement de désactiver l’éditeur de thème présent par défaut.

Cela évitera d’offrir un accès direct au pirate à vos fichiers.

define('DISALLOW_FILE_EDIT', true);

 

Il existe sûrement encore des dizaines de fonctions intéressantes, d’ailleurs n’hésitez pas à poster les votre et n’hésitez pas à chercher sur notre ami Google, certains sites se sont fait une spécialité de ce genre de snippets.

Déposer un commentaire

Votre adresse de messagerie ne sera pas publiée.

Charles Berthommé

Avatar

A propos

Développeur & Intégrateur au sein de l'agence web API Studio dont je suis également le gérant. Formateur auprès de l'université de Strasbourg.

Au fil des tweets

Logo API Studio
Réseaux sociaux
Contacter l'agence