web-dev-qa-db-fra.com

Comment peut-on mettre à jour un thème sur un site en direct sans interruption?

J'ai donc un site basé sur WordPress avec un thème personnalisé pour enfant Genesis. Une fois que le site sera mis en ligne, nous devrons évidemment apporter des modifications périodiques au code du thème de l'enfant - en modifiant CSS et similaires. Ce sont les problèmes que j'ai rencontrés:

  1. Je n'ai pas d'accès Shell ou FTP, je ne peux donc pas simplement remplacer les fichiers sur le serveur (ils voulaient utiliser l'un de ces fournisseurs d'hébergement WordPress dédié pour des raisons de sécurité et de facilité de maintenance).

  2. Il n'est pas possible de mettre à niveau un thème actif "en place" avec la fonctionnalité de téléchargement basée sur le Web (vous ne pouvez le faire qu'avec des thèmes installés via le référentiel de WordPress).

  3. Pour contourner la limitation ci-dessus, j'ai pensé que je pourrais peut-être simplement mettre le hachage de révision Git ou le nom du thème chaque fois que je construis le fichier Zip, ce qui fera que WordPress le verra comme un thème séparé, puis je pourrai simplement changer de l'ancien au nouveau. Cela fonctionne, sauf que WordPress réinitialise certains de ses paramètres (en particulier le menu défini comme "barre de navigation").

Pour être clair, je ne demande pas comment je peux tester/voir les modifications avant de les effectuer en production (j'ai un serveur de développement), mon problème concerne spécifiquement le mécanisme permettant d'effectuer les modifications.

Compte tenu de ma situation, y a-t-il un moyen de le faire sans causer d'interruption/de devoir modifier la configuration à chaque mise à jour?

2
kine

Je pense que je vais répondre à ma propre question:

Mon problème n ° 1 (pas d'accès direct au serveur) est probablement ce qui rend cette situation la plus irritante; Si cela n'avait pas été un problème, je pense qu'il y aurait beaucoup d'options supplémentaires qui s'offraient à moi.

Mais compte tenu de cette limitation, créer et télécharger de "nouveaux" thèmes semble être le meilleur choix. En acceptant cela, la question devient, comment résoudre le problème que j'ai mentionné dans # 2?

La réponse semble être:

Ce problème est une limitation de WordPress lui-même ( suivi # 18588 ) qui sera probablement résolue dans une version ultérieure. Jusque-là, il existe une solution de programmation, fournie par un utilisateur dans le ticket lié (et également ici sur Stack Exchange ), qui peut être utilisée pour transférer les paramètres entre les thèmes lorsque le changement a lieu. Ayant adapté ce code à mon propre thème, j'ai constaté que la solution de contournement était suffisante pour mon cas d'utilisation.

à votre santé

1
kine

Dans ce cas, je créerais un nouveau thème.

Mais soyez prudent avec la mise à jour en direct, cela pourrait se transformer en codage cow-boy. Faites votre changement sur localhost puis chargez votre nouveau thème en tant que fichier Zip par l’administration et activez-le.

Ce serait la copie exacte du thème précédent, mais avec des modifications.

0
JMau