API Impostazioni vs Personalizzatore temi


20

Quando sarebbe appropriato usare l'API delle impostazioni e quando sarebbe meglio usare il personalizzatore del tema?

Avendo cercato su Google tutta la mattina, non sono stato in grado di trovare alcuna guida ben ponderata e recente su questo argomento. Anche se è ancora presto per dirlo, ritengo che la personalizzazione del tema sia un primo passo suggestivo per introdurre più funzioni di modifica simili a Squarespace . Qualcuno è a conoscenza di piani per il tramonto dell'API delle impostazioni a favore del personalizzatore del tema? Dovremmo andare tutti lentamente verso di essa, o staremmo meglio attenendoci all'API delle impostazioni? Possono vivere fianco a fianco e, in tal caso, dove risiederebbe la divisione delle responsabilità?

Risposte:


21

La premessa della domanda è errata. L' API di personalizzazione non è un'API di opzioni , ma piuttosto un'API di anteprima delle opzioni . L'API di personalizzazione si basa sull'API delle impostazioni o sull'API delle mod di temi per registrare i controlli per le impostazioni esistenti aggiunte tramite una delle due API.

Il personalizzatore non definisce e non può definire / registrare nuove impostazioni che non sono già state registrate tramite l'API delle impostazioni o l'API delle mod dei temi. Detto in un altro modo: l'API Customizer non è un'API per aggiungere impostazioni direttamente o per recuperare le impostazioni direttamente dal database; piuttosto, l'API di personalizzazione utilizza l'API delle impostazioni o l'API delle mod di temi per salvare le impostazioni o recuperare le impostazioni dal database.

Pertanto, l'API Customizer non è un'alternativa a una delle API delle opzioni esistenti ; piuttosto, è un'alternativa per una pagina delle impostazioni . Il personalizzatore non importa se un'impostazione è registrata tramite l'API delle impostazioni o l'API delle mod di temi e tali impostazioni possono essere combinate e abbinate nel Customzer. Infatti, nella maggior parte dei casi, tali impostazioni sono miste e abbinate: intestazione e sfondo personalizzati sono Mod tematici e Titolo e descrizione del sito sono API delle impostazioni.

Per capire esattamente come vengono registrate le impostazioni e i controlli tramite l'API Customizer, ti consiglio di leggere i tutorial eccellenti di Otto:

Pertanto, la domanda non è né / né rispetto alle API specificate. Appropriato o / o domande sarebbero:

  • Utilizzare sia l' API delle impostazioni o il tema Mods API per registrare le impostazioni attuali per visualizzare in anteprima tramite l' API Customizer
  • Utilizzare sia la Customizer API o di una pagina tema personalizzato le impostazioni per consentire all'utente di opzioni di configurazione a tema .

Grazie Chip. Continuo a non seguirti al 100% , ma mi hai dato abbastanza per approfondire ulteriormente il problema. Penso che la mia confusione derivi dalla sovrapposizione di funzionalità e somiglianza nei nomi. Esiste una pagina che documenta chiaramente i casi d'uso (in modo più astratto) delle diverse API? Non ho avuto molta fortuna a guardare attraverso il codice; si concentra solo sulla pratica dell'applicazione dell'API.
Dre,

Ho aggiunto altro, per cercare di spiegare un po 'più in profondità. Vedi anche, in particolare, i collegamenti ai tutorial di Customizer di Otto; Penso che aiuteranno a chiarire le cose.
Chip Bennett,

Signore, sei un gentiluomo.
Dre,

5

Semplice come talvolta possono essere le cose: l'API Impostazioni non è il Personalizzatore temi. Entrambi sono cose diverse per compiti diversi.

API delle impostazioni

Stai scrivendo un plugin o hai un tema che non ha opzioni che non avranno bisogno di alcun feedback visivo? Vai con questa opzione.

Personalizzatore temi

Devi avere opzioni che abbiano un impatto visivo che l'utente dovrebbe essere in grado di vedere? Vai con questa opzione.


Questa è stata la mia conclusione iniziale. Tuttavia, c'è una grande sovrapposizione funzionale tra i due, che è ciò che porta alle domande originali. Inoltre, l'idea di suddividere le opzioni del tema in due posizioni a seconda che siano visive o meno mi sembra problematica dal punto di vista della UX. Questo non vuol dire che non sono d'accordo con te; Sto solo sollecitando opinioni in questa fase. L'intero argomento in sé è piuttosto oscuro. Forse una guida ben definita "dall'alto" sarebbe utile. Grazie per il tuo contributo!
Dre,

@Dre Indovina hai letto male: se hai anche una sola opzione che necessita di feedback visivo, vai con ThemeCustomizer. Quindi la regola empirica è: Tema -> Personalizzatore temi | Plugin -> Impostazioni API.
Kaiser

Come regola generale, tutte le opzioni definite dal tema dovrebbero avere un impatto sulla presentazione . :) Detto: l'API personalizzazione richiede sia l' API delle impostazioni o il tema Mods API per esistere. L'API di personalizzazione non è un'alternativa per una di queste due API, ma piuttosto un'alternativa per una pagina delle impostazioni del tema personalizzato .
Chip Bennett,

Ragazzi avete problemi di reimpostazione con il personalizzatore? Mi sembra abbastanza temperante sia in 3.5.1 sia in 3.6 (tronco). Trovo che i pulsanti di intestazione e di chiusura / salvataggio spesso non rispondano correttamente ai clic e che a volte debbano fare clic più volte (e di più nel bagagliaio). Questo è sia in FF che in Chrome.
t31os,

@ t31os Avevo già riscontrato questo problema, ma senza coerenza. Ma non ci ho provato per un bel po 'di tempo. Suggerirei a console.log()tutte le tue azioni in modo da vedere cosa è attivato e cosa si interrompe. Il debug di JavaScript non è facile ...
Kaiser
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.