Activer un thème WordPress via des instructions SQL

Cette technique pourra servir aux personnes voulant s’amuser avec SQL, ou bien comme moi, pour réparer un blog WordPress (version 3.1.2) affichant une jolie page blanche suite à l’installation ratée d’un thème …

Nous allons commencer par nous connecter sur la base de données contenant les tables de WordPress avec un utilisateur ayant des droits d’écriture/modification. Dans mon cas, je vais passer par l’interface web PhpMyAdmin, mais sachez qu’il est possible de faire toute la procédure en ligne de commandes (oui oui, les petites fenêtres noires avec des écritures blanches :))

Dans PhpMyAdmin, entrez les lignes suivantes après avoir cliqué sur l’onglet « SQL »

SELECT *
FROM wp_options
WHERE option_value LIKE '%nom-du-thème-activée%'

Le résultat de cette requête devrait retourner ces 3 enregistrements :

option_id blog_id option_name option_value autoload
45 0 template nom-du-thème-activée yes
46 0 stylesheet nom-du-thème-activée yes
480 0 current_theme Nom du thème activée yes

Nous allons remplacer chacune des « option_value » par les valeurs par défaut à la sortie d’un installation du moteur WordPress. En gros, nous allons réactiver le thème « Twenty Ten », thème fourni dans WordPress 3.1.2 (sur la version 3.2, adapter avec « Twenty Eleven »).

Voici le résultat que nous devons atteindre :

option_id blog_id option_name option_value autoload
45 0 template twentyten yes
46 0 stylesheet twentyten yes
480 0 current_theme Twenty Ten yes

Il est possible de faire les modifications directement en cliquant sur le stylo à côté de chaque ligne afin d’éditer les valeurs, mais je laisse tout de même les requêtes SQL.

UPDATE wp_options SET option_value = 'twentyten' WHERE option_name = 'template'
UPDATE wp_options SET option_value = 'twentyten' WHERE option_name = 'stylesheet'
UPDATE wp_options SET option_value = 'Twenty Ten' WHERE option_name = 'current_theme'