Je n'arrive pas à trouver une telle option listée ici:
http://codex.wordpress.org/XML-RPC_wp#wp.setOptions
Est-ce qu'il existe?
Merci.
Non, cette option n'existe pas actuellement via XML-RPC. Cependant, vous pouvez toujours créer votre propre méthode dans un plugin et la relier à XML-RPC.
Il y a un prochain projet de Google Summer of Code qui étendra l'interface XML-RPC pour permettre la manipulation directe de thèmes, afin que je ne laisse pas le code de mettre cela en œuvre ici. Mais gardez les yeux et les oreilles ouverts lorsque de nouveaux codes (modifications principales et/ou plugins) commencent à être publiés cet été.
En attendant, je proposerai une alternative. L'ensemble d'options que vous pouvez afficher et définir via XML-RPC peut être filtré. En gros, vous pouvez dire au système de vous donner plus d’informations qu’il ne le ferait normalement.
Ce que vous pouvez déjà obtenir (les options en gras sont en lecture seule ... vous ne pouvez pas les changer avec wp.setOptions
mais vous pouvez les récupérer avec wp.getOptions
):
Cette liste (en fait, un tableau avec d'autres paramètres), est transmise via le filtre xmlrpc_blog_options
, ce qui signifie que vous pouvez ajouter et supprimer tout ce que vous voulez dans cette liste. Pour activer l'extraction du thème actuel par wp.getOptions
et la modification du thème par wp.setOptions
, vous devez utiliser les éléments suivants:
function allow_xmlrpc_theme_changes( $xmlrpcoptions ) {
$xmlrpcoptions['active-theme'] = array(
'desc' => __( 'Active site theme' ),
'readonly' => false,
'option' => 'template'
);
$xmlrpcoptions['active-stylesheet'] = array(
'desc' => __( 'Active site stylesheet' ),
'readonly' => false,
'option' => 'stylesheet'
);
return $xmlrpcoptions
}
add_filter( 'xmlrpc_blog_options', 'allow_xmlrpc_theme_changes' );
Cela ajoute deux champs que vous pouvez définir: "thème actif" et "feuille de style active".
N'oubliez pas que vous définissez ces options de la même manière que si vous utilisiez update_option()
. Ainsi, vérifiez le codex avant de faire quoi que ce soit.