J'ai un script bash qui installe et active un thème comme celui-ci:
installation du thème wp https://bitbucket.org/organization/theme/get/master.Zip --activate
Le problème est que cela ne fonctionne qu'avec des référentiels publics, plutôt que privés. Si je rend le référentiel privé, j'obtiens cette erreur:
Unpacking the package...
Warning: The package could not be installed. PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature
Est-il possible d'installer des référentiels privés pour lesquels j'ai des clés ssh et des mots de passe?
J'ai en fait trouvé un moyen de le faire. Vous utilisez d'abord wget comme ceci:
wget --user username --ask-password -O path/to/output.Zip https://bitbucket.org/path/to/file.Zip
l'indicateur -O spécifie la sortie et la sortie. Zip est l'endroit où vous souhaitez le télécharger.
Ensuite, vous pouvez exécuter:
wp theme install path/to/output.Zip --activate
Jours heureux
J'aime exécuter mon grab à partir d'un script php. Il m'est arrivé de faire git clone au lieu de wget, mais les mêmes principes s'appliqueront toujours. Essayez quelque chose comme ça:
git clone "https://bitBucketUsername:[email protected]/organization/theme/get/master.git"
En pratique, vous devrez échapper votre nom d'utilisateur et votre mot de passe, comme ceci.
$bitBucketUsername = "[email protected]";
$bitBucketPassword = 'ILikeTurtles';
$bitBucketCredentials = urlencode($bitBucketUsername).':'.urlencode($bitBucketPassword).'@';
$cmd = "git clone \"https://{$bitBucketCredentials}bitbucket.org/organization/theme/get/master.git\"";
exec($cmd, $output, $return);
if ($return != 0) {
if (is_array($output)) {
$output = var_export($output, true);
}
print "Yikes, got ($return). output: $output";
} else {
// seems to have worked
// maybe activate the plugin?
}
Pour une solution plus sécurisée lors de l'utilisation de git, recherchez "informations d'identification d'assistance".