web-dev-qa-db-fra.com

Comment puis-je développer un nouveau thème dans WordPress sans perturber le site actuel

Je travaille sur la mise à jour de notre site Web actuel et j'aimerais construire un nouveau thème sans perturber le site actuel. Comment devrais-je m'y prendre? Puis-je simplement ajouter le thème et ne le rendre actif que lorsque je serai prêt?

1
Alex Eichenmuller

Il y a plusieurs options.

Premièrement, il existe des plugins qui permettent à certains utilisateurs connectés de voir le site sous un thème différent. Vous pouvez en utiliser un et activer le nouveau thème pour vous-même jusqu'à ce que vous soyez prêt à effectuer le changement.

Deux: copiez votre site sur un site intermédiaire et expérimentez-le. Le plus gros inconvénient potentiel est que si le thème a des paramètres, vous devrez les faire sur le site en direct lorsque vous serez prêt à faire la transition. Toutefois, si votre thème comporte de nombreux paramètres, il s’agit peut-être de votre seule option - vous devrez examiner les plug-in et voir s’ils vous permettent de configurer plusieurs thèmes.

4
WebElaine

Vous pouvez utiliser le filtre pre_option_stylesheet pour modifier dynamiquement la feuille de style. Dans l'exemple suivant, j'affiche la feuille de style par défaut sélectionnée sur l'administrateur WordPress aux utilisateurs ordinaires et un thème différent avec le slug my-new-theme aux utilisateurs dotés de la fonctionnalité activate_plugins.

/*
 * Plugin Name: WPSE Theme Switch Example
 * Description: Show `my-new-theme` to users with the `activate_plugins` capability.
 * Required PHP: 5.4
 */
namespace StackExchange\WordPress;

class stylesheet {
  protected $theme = 'my-new-theme';

  public function get_theme( $theme ) {
    return $this->show_new_theme() ? $this->theme : $theme;
  }

  protected function show_new_theme() {
    return ! \is_admin() && \current_user_can( 'activate_plugins' );
  }
}
\add_filter( 'pre_option_stylesheet', [ new stylesheet(), 'get_theme' ] );
4
Nathan Johnson

Un commentaire à la question dit de "développer localement". Procéder localement peut vous permettre de développer et d'ajuster le nouveau thème, mais comment alors obtenir les paramètres du nouveau thème sur le site? Vous ne pouvez pas simplement copier la base de données; cela écrasera le contenu.

J'ajouterais donc ceci: développez localement jusqu'à ce que le nouveau thème soit peaufiné comme vous le souhaitez. Ensuite, il existe des plug-ins qui vous permettent d'exporter et d'importer des paramètres de thème sans affecter le contenu du site. Installez le nouveau thème sur le site (sans l'activer), puis importez les paramètres à partir de votre système de développement. Activez ensuite le nouveau thème et effectuez un test approfondi.

Je pense que l’avantage, c’est que vous pouvez modifier sans vous inquiéter du fait que vous risquez de causer des problèmes avec le site en direct.

Bien sûr, si le nouveau site doit utiliser de nouveaux plugins, il y aura un problème avec les paramètres du plugin. Peu de plugins ont un paramètre import/export, vous devrez donc documenter soigneusement les paramètres de votre plugin pour pouvoir les dupliquer sur le site actif.

(Je n'ai pas regardé, mais il existe peut-être un plugin qui exporte/importe les paramètres d'un autre plugin. Ce serait chouette.)

0
Rick Hellewell