Je veux que le script ajoute de nouvelles règles au .htaccess
actuel et que l'utilisateur n'ait pas besoin de ftp ou de le modifier manuellement.
Par exemple, j'utilise timthumb pour redimensionner l'image sur mon thème et je veux réécrire l'URL et le .htaccess
actuel ressemblera à ceci.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^images/thumb/(.*) timthumb.php?filename=$1
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Question
Comment ajouter la nouvelle règle à l'option .htacces
sur mon thème.
Activer la réécriture de mod pour Timthumb? : [Oui Non]
Si vous cliquez sur [Oui], RewriteRule ^images/thumb/(.*) timthumb.php?filename=$1
sera automatiquement ajouté au .htaccess
actuel
Faites le moi savoir
Vous pouvez ajouter des règles supplémentaires juste après la ligne ^index\.php$
via la classe WP_Rewrite
, plus précisément la méthode add_external_rule()
. Ils sont ajoutés au tableau non_rewrite_rules
, qui est écrit dans la méthode mod_rewrite_rules()
.
Ceci est un exemple très simple. Vous devez toujours vider les règles de réécriture (une fois), soit lors de l'activation du plug-in, soit en visitant la page Permaliens .
add_action( 'init', 'wpse9966_init' );
function wpse9966_init()
{
global $wp_rewrite;
// The pattern is prefixed with '^'
// The substitution is prefixed with the "home root", at least a '/'
$wp_rewrite->add_external_rule( 'images/thumb/(.*)$', 'timthumb.php?filename=$1' );
}