Comment ajouter du code sur son site WordPress

Sur certains articles, je donne des exemples de code à ajouter sur son site pour modifier un comportement.

Ici je vais détailler où on peut ajouter ce code car ce n’est peut être pas clair pour tout le monde.

Lorsqu’on souhaite modifier le comportement ou l’affichage de WordPress, on passe par les hooks : actions et filtres. Cela pourra faire l’objet d’un article dédié tellement c’est vaste. Ce qu’il faut retenir c’est que c’est LA manière prévue par WordPress pour modifier son comportement. Et adopté par les développeurs de plugins & thèmes sérieux.

Pour que le code que vous ajoutez puisse être exécuté par WordPress, il doit s’accrocher à une action ou un filtre, peu importe où est placé le code tant qu’il est dans un fichier PHP appelé par WordPress.

Je vais prendre un exemple concret. J’utilise Yoast sur mon site, et j’affiche le fil d’ariane de Yoast. Je veux modifier le comportement de ce fil d’ariane pour enlever le dernier élément (la page actuelle). En cas réel je ne le recommande pas, sinon les SEO vont tous me tomber dessus.

Voici le code pour avoir le comportement qui m’interesse (donné par Yoast directement dans leur documentation)


add_filter('wpseo_breadcrumb_single_link', 'remove_breadcrumb_title' );
function remove_breadcrumb_title( $link_output) {
	if(strpos( $link_output, 'breadcrumb_last' ) !== false ) {
		$link_output = '';
	}
   	return $link_output;
}

Ajouter du code dans le thème

La manière la plus simple est d’ajouter le code directement dans le fichier functions.php de votre thème. Attention ! On ne modifie pas un thème directement s’il n’est pas développé sur mesure. Si le thème peut recevoir des mises à jour, cela supprimera tout votre code. Dans ce cas, il faut passer par un thème enfant. Il y aura un article prochainement pour expliquer les thèmes enfants. A quoi ça sert, comment ça fonctionne et comment en faire un.

Quoi qu’il en soit, ajouter ce code directement dans le fichier functions.php l’exécutera.

Ajouter le code dans un plugin

Il est possible de créer un plugin, voire un mu-plugin. C’est ce que j’aime bien faire si le code que je modifie n’est pas directement lié au thème. Ainsi je garde la modification même si le thème change plus tard. Dans notre exemple je modifie le comportement d’une extension WordPress alors je vais préférer créer un plugin dédié qui sera indépendant du thème utilisé.

Pour faire votre plugin vous devez créer un dossier dans /wp-content/plugins/ et créer un fichier php qui comporte le même nom que le dossier.

Pour notre exemple je vais donc créer un fichier accessible avec le chemin suivant : « /wp-content/plugins/devwp-yoast-breadcrumbs/devwp-yoast-breadcrumbs.php »

Dans ce fichier PHP je vais utiliser la syntaxe que demande WordPress pour déclarer un thème puis je vais mettre le code donné en exemple plus haut

/**
 * Plugin Name: DevWP - Yoast Breadcrumbs custom
 */

add_filter('wpseo_breadcrumb_single_link', 'remove_breadcrumb_title' );
function remove_breadcrumb_title( $link_output) {
	if(strpos( $link_output, 'breadcrumb_last' ) !== false ) {
		$link_output = '';
	}
   	return $link_output;
}

Voilà les 3 premières lignes représentent le code minimum (des commentaires PHP) pour déclarer un plugin WordPress. Avec ce fichier j’ai un plugin qui apparaît dans l’administration de mon site, il ne me reste plus qu’à l’activer pour appliquer mes changements.

Pour le mu-plugin ça sera pareil sauf que je n’ai pas besoin de créer un dossier. Je créé le fichier suivant avec le même code que le plugin « /wp-content/mu-plugins/devwp-yoast-breadcrumbs.php ». Dans mon interface d’administration WordPress j’ai maintenant une extension activée, identifiée comme indispensable, que je ne peux pas désactiver.

Je n’ai pas testé directement le code donné par Yoast, je ne suis même pas certain qu’il fonctionne. Mais l’essentiel ici c’est de voir où on peut mettre le code sur WordPress.


Publié

dans

par

Commentaires

Une réponse à “Comment ajouter du code sur son site WordPress”

  1. Liz

    Très utile merci !

Répondre à Liz Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *