API de paramètres vs personnalisateur de thème

20

Quand serait-il approprié d'utiliser l'API des paramètres et quand serait-il préférable d'utiliser le personnalisateur de thème?

Après avoir fait des recherches sur Google toute la matinée, je n'ai pas été en mesure de trouver des orientations récentes et bien réfléchies à ce sujet. Bien qu'il soit encore tôt pour le dire, je pense que le personnalisateur de thème est une première étape suggestive vers l'introduction de fonctionnalités d'édition plus proches de Squarespace . Quelqu'un connaît-il des plans pour supprimer l'API des paramètres en faveur du personnalisateur de thème? Devrions-nous tous avancer lentement vers cela, ou serions-nous mieux de nous en tenir à l'API des paramètres? Peuvent-ils vivre côte à côte, et si oui, où se situerait le partage des responsabilités?

Dre
la source

Réponses:

21

La prémisse de la question est erronée. L' API Customizer n'est pas une API d' options , mais plutôt une API d' aperçu des options . L'API Customizer s'appuie sur l' API Settings ou l' API Theme Mods pour enregistrer les contrôles des paramètres existants ajoutés via l'une des deux API.

Le Customizer ne définit pas - et ne peut pas - définir / enregistrer de nouveaux paramètres qui n'ont pas déjà été enregistrés via l'API Settings ou l'API Theme Mods. Autrement dit: l'API Customizer n'est pas une API pour ajouter des paramètres directement à ou pour récupérer des paramètres directement à partir de la base de données; l'API Customizer utilise plutôt Settings ou l'API Theme Mods pour enregistrer les paramètres dans la base de données ou pour les récupérer.

Ainsi, l'API Customizer n'est pas une alternative à l'une des API d'options existantes ; c'est plutôt une alternative pour une page de paramètres . Le Customizer ne se soucie pas de savoir si un paramètre est enregistré via l'API Settings ou l'API Theme Mods, et ces paramètres peuvent être mélangés et mis en correspondance dans le Customzer. En fait, dans la plupart des cas, ces paramètres sont mélangés et correspondent: l'en-tête personnalisé et l'arrière-plan personnalisé sont des mods de thème et le titre et la description du site sont des paramètres API.

Pour comprendre exactement comment les paramètres et les contrôles sont enregistrés via l'API Customizer, je recommande de lire les excellents tutoriels d'Otto:

Donc, la question n'est pas / ou concernant les API spécifiées. Appropriés soit / ou des questions seraient:

  • Utilisez soit le paramètres API ou le thème API Mods pour enregistrer les paramètres existants pour avoir un aperçu via l' API Customizer
  • Utilisez soit l' API Customizer ou une page de thème personnalisé pour permettre à l'utilisateur de configurer les options de thème .
Chip Bennett
la source
Merci Chip. Je ne vous suis toujours pas à 100% , mais vous m'avez donné assez pour aller plus loin dans le problème. Je pense que ma confusion vient du chevauchement des fonctionnalités et de la similitude des noms. Existe-t-il une page qui documente clairement les cas d'utilisation (de manière plus abstraite) des différentes API? Je n'ai pas eu beaucoup de chance en parcourant le codex; il se concentre uniquement sur les écrous et les boulons de l'application de l'API.
Dre
J'en ai ajouté plus, pour essayer d'expliquer un peu plus en profondeur. Voir également, en particulier, les liens vers les didacticiels de personnalisation d'Otto; Je pense qu'ils aideront à clarifier les choses.
Chip Bennett
Vous êtes monsieur un gentleman.
Dre
5

Aussi simple que cela puisse parfois être: l'API Settings n'est pas le personnalisateur de thème. Les deux sont des choses différentes pour des tâches différentes.

API des paramètres

Soit vous écrivez un plugin ou vous avez un thème qui n'a pas d'options qui n'auront pas besoin de commentaires visuels? Allez avec cette option.

Personnalisateur de thème

Vous devez avoir des options qui ont un impact visuel que l'utilisateur devrait voir? Allez avec cette option.

kaiser
la source
C'était ma conclusion initiale. Cependant, il y a beaucoup de chevauchements fonctionnels entre les deux, ce qui a conduit à la (aux) question (s) d'origine. De plus, l'idée de diviser les options de thème en deux emplacements selon qu'elles sont visuelles ou non me semble problématique du point de vue UX. Cela ne veut pas dire que je ne suis pas d'accord avec vous; Je sollicite juste des opinions à ce stade. L'ensemble du sujet lui-même est quelque peu trouble. Peut-être qu'une orientation bien définie «d'en haut» serait bénéfique. Merci pour votre contribution!
Dre
@Dre Je suppose que vous l'avez mal lu un peu: si vous ne disposez que d'une seule option qui nécessite des commentaires visuels, choisissez le ThemeCustomizer. La règle générale est donc: Thème -> Personnalisateur de thème | Plugin -> Paramètres API.
kaiser
En règle générale, toutes les options définies par thème devraient avoir un impact sur la présentation . :) Cela dit: l'API de personnalisation requiert soit l' API des paramètres ou le thème API Mods pour exister. L'API de personnalisation n'est pas une alternative pour l'une de ces deux API, mais plutôt une alternative pour une page de paramètres de thème personnalisée .
Chip Bennett
Avez-vous des problèmes de résilience avec le personnalisateur? Cela me semble assez capricieux à la fois en 3.5.1 et encore plus en 3.6 (tronc). Je trouve souvent que les boutons d'en-tête et de fermeture / enregistrement ne répondent tout simplement pas correctement aux clics et que je dois parfois les cliquer plusieurs fois (et plus encore dans le coffre). C'est à la fois dans FF et Chrome.
t31os
@ t31os A eu ce problème avant, mais sans cohérence. Mais je n'ai pas essayé depuis un certain temps. Je suggère à console.log()toutes vos actions de voir ce qui se déclenche et ce qui interrompt. Le débogage JavaScript n'est pas facile ...
Kaiser