Parfois, au cours du développement d’un plugin, il peut être nécessaire de mettre à jour le fichier .htaccess. Cela peut être assez décourageant lorsque vous commencez à penser à l’inconnu. Qu’y a-t-il actuellement ? Le fichier existe-t-il ? Puis-je y écrire ? Heureusement, WordPress dispose d’une fonction intégrée pour vous aider dans cette tâche, « insert_with_markers() » dans misc.php.
La fonction s’appuie sur des marqueurs dans le fichier .htaccess pour identifier la partie qu’elle doit mettre à jour. Par exemple, les mises à jour de WordPress pour les permaliens ont « WordPress » comme marqueur et ressemblent à quelque chose comme ça :
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
L’ajout de votre propre section est facile. La fonction prend trois paramètres :
$filename – Dans ce cas, le chemin complet du fichier .htaccess.
$marker – Un marqueur unique qui a un sens pour votre plugin.
$insertion – Un tableau dont chaque élément est une ligne de texte.
Voici un exemple :
// Get path to main .htaccess for WordPress $htaccess = get_home_path() . ".htaccess"; $lines = []; $lines[] = "RewriteBase /exemple"; insert_with_markers($htaccess, "MonPlugin", $lines);
Cela créerait un ajout au fichier .htaccess qui ressemblerait à ceci :
# BEGIN MonPlugin RewriteBase /exemple # END MonPlugin
Un point important à mentionner est que get_home_path() et insert_with_markers() ne sont disponibles que lorsque le plugin est exécuté dans l’interface d’administration. Par exemple, votre fonction d’activation pour votre plugin serait un bon endroit pour mettre cela. Pendant la désactivation, l’envoi d’un tableau vide pour le paramètre d’insertion supprimera la configuration.
Mise à jour le 27/04/2023 at 06:36