Ιστολόγιο

Ο Επεξεργαστής Ιστοτόπου που Αντέχει στους Πελάτες: Ένα Εγχειρίδιο theme.json

Χρησιμοποιήστε το theme.json για να θέσετε όρια στον Επεξεργαστή Ιστοτόπου του WordPress, ώστε οι πελάτες να μπορούν να επεξεργάζονται περιεχόμενο χωρίς να χαλάνε τον σχεδιασμό σας.

Περίληψη

Όταν ένας πελάτης ανοίγει για πρώτη φορά τον Επεξεργαστή Ιστοτόπου του WordPress, η δυνατότητα να επεξεργάζεται κάθε block, χρώμα και διάταξη μπορεί να του φανεί ως δυνατότητα — και σε εσάς ως απειλή. Αυτό το άρθρο εξηγεί πώς να χρησιμοποιήσετε το theme.json για να χαράξετε μια σαφή γραμμή μεταξύ της επεξεργασίας περιεχομένου και του ελέγχου σχεδιασμού. Αντί να πολεμάτε τον Επεξεργαστή Ιστοτόπου, δημιουργείτε προεπιλογές, προεπιλεγμένες ρυθμίσεις και όρια που καθιστούν ασφαλές για μη τεχνικούς πελάτες να ενημερώνουν τον ιστότοπό τους. Θα δούμε τι να κλειδώσετε, τι να αφήσετε ανοιχτό και γιατί το υπερβολικό κλείδωμα είναι πραγματικός κίνδυνος. Η προσέγγιση βασίζεται σε σχεδιαστικά tokens και περιορισμούς σε επίπεδο προτύπου, οπότε λειτουργεί με συνέπεια σε κάθε ιστότοπο πελάτη που διαχειρίζεστε. Στο τέλος, θα έχετε μια επαναλαμβανόμενη ροή εργασίας για να παραδώσετε τον Επεξεργαστή Ιστοτόπου χωρίς να παραδώσετε τα κλειδιά του σχεδιαστικού σας συστήματος.

Ποιο είναι το πρώτο πράγμα που κάνετε όταν ένας πελάτης σας στέλνει email για να πει ότι «απλώς προσπάθησε να ενημερώσει τον τίτλο» και ολόκληρο το σύστημα αποστάσεων του ιστοτόπου έχει καταρρεύσει;

Αν διαχειρίζεστε περισσότερους από έναν ιστότοπους WordPress, πιθανότατα έχετε λάβει αυτό το μήνυμα με κάποια μορφή. Ο Επεξεργαστής Ιστοτόπου έδωσε στον πελάτη σας τα κλειδιά ενός αυτοκινήτου με πέντε ταχύτητες και χωρίς φρένο. Νομίζουν ότι κάνουν μια απλή αλλαγή κειμένου και ξαφνικά η καθολική τυπογραφία δεν είναι σωστή, το hero του homepage έχει ένα νέον χρώμα που δεν επιλέξατε εσείς και δύο blocks είναι πλέον τοποθετημένα το ένα πάνω στο άλλο αντί το ένα δίπλα στο άλλο.

Εν τω μεταξύ, σκέφτεστε τους έξι άλλους ιστότοπους πελατών που υποστηρίζετε και το τελευταίο πράγμα που χρειάζεστε είναι μια παγίδα συντήρησης όπου κάθε «χρήσιμη» επεξεργασία πελάτη απαιτεί επαναφορά από αντίγραφο ασφαλείας.

Η απάντηση δεν είναι να αφαιρέσετε τον Επεξεργαστή Ιστοτόπου. Είναι να θέσετε όρια μέσα σε αυτόν χρησιμοποιώντας το theme.json. Σύμφωνα με τους πόρους προγραμματιστών του WordPress, το theme.json είναι η κεντρική πηγή αλήθειας για τις ρυθμίσεις και τα στυλ του επεξεργαστή block — καθορίζει τις παλέτες χρωμάτων, την τυπογραφία και τις επιλογές διάταξης που εμφανίζονται στον πελάτη. Αυτό σημαίνει ότι το ίδιο αρχείο που ελέγχει τον σχεδιασμό σας μπορεί επίσης να ελέγχει τι μπορεί και τι δεν μπορεί να επεξεργαστεί ο πελάτης.

Ας δούμε πώς να το σκεφτείτε, γιατί τα περισσότερα σεμινάρια επικεντρώνονται στο τι μπορεί να κάνει το theme.json για τους προγραμματιστές. Το ερώτημα για μια εταιρεία είναι διαφορετικό: πώς το χρησιμοποιούμε για να κάνουμε τους πελάτες ασφαλείς χωρίς να νιώθουν περιορισμένοι;

Γιατί ο Επεξεργαστής Ιστοτόπου φαίνεται τόσο επικίνδυνος;

Ο πελάτης σας δεν προσπαθεί να σπάσει τον ιστότοπο. Προσπαθεί να κάνει αυτό που τον εκπαιδεύετε για χρόνια στον παλιό επεξεργαστή: να αλλάξει έναν τίτλο, να αντικαταστήσει μια εικόνα, ίσως να προσθέσει μια παράγραφο. Ο κίνδυνος δεν είναι η πρόθεσή τους — είναι ότι ο Επεξεργαστής Ιστοτόπου εμφανίζει καθολικά χειριστήρια στο ίδιο σημείο με τα χειριστήρια περιεχομένου.

Να ένα συνηθισμένο σενάριο. Ένας πελάτης ανοίγει ένα πρότυπο στον Επεξεργαστή Ιστοτόπου και βλέπει ένα block επικεφαλίδας. Αλλάζει το χρώμα του για να ταιριάζει με το νέο χρώμα της μάρκας. Αλλά επειδή αυτή η επικεφαλίδα είναι σε ένα πρότυπο, η αλλαγή ισχύει παντού όπου χρησιμοποιείται αυτό το πρότυπο. Για τον πελάτη, φάνηκε σαν μία επεξεργασία. Για τον ιστότοπο, ήταν μια καθολική αλλαγή.

Η γενική αρχή: όταν δίνετε σε κάποιον ένα page builder, τελικά θα βρει τις «ρυθμίσεις με προστατευτικά» και θα τις απενεργοποιήσει. Αλλά με το theme.json, μπορείτε να κρύψετε τα ίδια τα προστατευτικά. Αντί να λέτε στον πελάτη «μην αγγίζετε τα καθολικά στυλ», απλώς δεν του δείχνετε μια παλέτα χρωμάτων που μπορεί να παράγει κακό αποτέλεσμα. Ορίζετε μια παλέτα εγκεκριμένων χρωμάτων, μια κλίμακα μεγεθών γραμματοσειράς και ένα σύνολο προεπιλογών αποστάσεων — και ο πελάτης επιλέγει από αυτά, όχι από το πλήρες φάσμα του CSS.

Αυτή είναι η πρώτη αλλαγή: σταματήστε να σκέφτεστε κανόνες και αρχίστε να σκέφτεστε εργοστάσια. Το theme.json είναι η γραμμή παραγωγής σας. Διαμορφώνετε τις επιλογές που βλέπει ο πελάτης και οι περιορισμοί επιβάλλονται από την ίδια τη διεπαφή, όχι από ένα σύνολο οδηγιών σε ένα έγγραφο παράδοσης.

Τι πρέπει πραγματικά να κλειδώσετε;

Όχι τα πάντα. Αν κλειδώσετε την περιοχή περιεχομένου πολύ σφιχτά, ο πελάτης είτε θα σας καλεί κάθε φορά που χρειάζεται να προσθέσει μια παράγραφο, είτε θα βρει τρόπο να σας παρακάμψει — συχνά προσθέτοντας ένα μεμονωμένο plugin ή αντιγράφοντας HTML από τον παλιό του ιστότοπο.

Ορίστε ένας πρακτικός πίνακας με το τι να κλειδώσετε, τι να αφήσετε και γιατί:

Επιφάνεια επεξεργασίαςΚλείδωμα;Γιατί
Δομή προτύπου και διατάξεις blocksΚλείδωμαΑποτρέπει την τυχαία αφαίρεση ή αναδιάταξη βασικών blocks διάταξης
Καθολικά στυλ (χρώματα, γραμματοσειρές, προεπιλογές αποστάσεων)Κλείδωμα με προεπιλογέςΟι πελάτες επιλέγουν από ένα εγκεκριμένο σύνολο, όχι αυθαίρετες τιμές
Κείμενο και εικόνες περιεχομένουΑφήστε ανοιχτόΑυτή είναι η δουλειά τους· αφήστε τους να το κάνουν χωρίς να ζητούν άδεια
Αποστάσεις μεταξύ blocksΜερικό κλείδωμαΠαρέχετε προεπιλογές αποστάσεων ώστε να μπορούν να προσαρμόσουν τον ρυθμό χωρίς να χαλάσουν την ευθυγράμμιση
Επιμελημένα μοτίβα blocksΑφήστε ανοιχτό αν τα έχετε ελέγξειΈνας ασφαλής τρόπος για τους πελάτες να προσθέτουν νέες ενότητες χωρίς να χτίζουν από το μηδέν

Η σημαντική απόχρωση είναι «κλείδωμα με προεπιλογές», όχι «αποκλεισμός». Για τα καθολικά στυλ, δεν κρύβετε τον πίνακα ρυθμίσεων· μειώνετε τον αριθμό των επιλογών σε ένα επιμελημένο σύνολο. Για τη δομή του προτύπου, μπορείτε να κλειδώσετε ορισμένα blocks ώστε να μην μπορούν να αφαιρεθούν, αλλά να επιτρέπετε στους πελάτες να επεξεργάζονται το κείμενο μέσα σε αυτά.

Μια προειδοποίηση: το κλείδωμα ενός block σε ένα πρότυπο είναι διαφορετικό από το κλείδωμά του σε μια συγκεκριμένη σελίδα. Τα κλειδώματα προτύπων επηρεάζουν όλο το περιεχόμενο που χρησιμοποιεί το πρότυπο. Αν χρειάζεστε διαφορετικά επίπεδα κλειδώματος σε διαφορετικές σελίδες, θα πρέπει να εργαστείτε σε επίπεδο block μέσα στον επεξεργαστή, το οποίο είναι πιο εύθραυστο. Για επαναλαμβανόμενη εργασία εταιρείας, σχεδιάστε τα πρότυπά σας έτσι ώστε οι κλειδωμένες περιοχές να είναι συνεπείς.

Πώς θέτετε όρια χωρίς να κάνετε τον επεξεργαστή να μοιάζει με παγίδα;

Η τεχνική είναι να ορίσετε τα σχεδιαστικά tokens στο theme.json και στη συνέχεια να αντισταθείτε στο να κάνετε οτιδήποτε άλλο στο CSS.

Για παράδειγμα, αντί να αφήνετε τον πελάτη να ορίσει ένα αυθαίρετο χρώμα σε ένα κουμπί, ορίζετε ένα στυλ κουμπιού στο theme.json που χρησιμοποιεί ένα συγκεκριμένο χρώμα από την παλέτα σας. Ο πελάτης μπορεί ακόμα να επιλέξει το κουμπί και να αλλάξει το κείμενό του, αλλά ο επιλογέας χρώματος δείχνει μόνο τα εγκεκριμένα δείγματά σας. Το ίδιο ισχύει για τα μεγέθη γραμματοσειράς, τα ύψη γραμμής και τις αποστάσεις.

Η ίδια αρχή ισχύει και για τα πρότυπα. Μπορείτε να χρησιμοποιήσετε τη δυνατότητα «κλειδώματος» σε συγκεκριμένα blocks μέσα σε ένα πρότυπο — για παράδειγμα, να κλειδώσετε τη δομή στηλών ενός block μαρτυρίας ώστε ο πελάτης να μπορεί να αλλάξει το κείμενο του αποσπάσματος αλλά όχι να μετατρέψει τρεις στήλες σε δύο. Αν δεν έχετε χρησιμοποιήσει ακόμα το κλείδωμα blocks, είναι διαθέσιμο στη γραμμή εργαλείων του επεξεργαστή· όταν κλειδώνετε ένα block, μπορείτε να επιλέξετε αν ο πελάτης μπορεί να επεξεργάζεται το περιεχόμενο, να το μετακινεί ή και τα δύο. Μπορείτε ακόμη να το εφαρμόσετε στο theme.json για προεπιλογές σε επίπεδο block.

Αυτό που επιδιώκετε είναι ένας επεξεργαστής όπου ο πελάτης δεν βλέπει ποτέ ένα χειριστήριο που μπορεί να σπάσει τον σχεδιασμό. Αυτό δεν σημαίνει ότι δεν μπορούν να κάνουν τίποτα λάθος· σημαίνει ότι το χειρότερο λάθος που μπορούν να κάνουν είναι να αλλάξουν τη διατύπωση μιας επικεφαλίδας, όχι την όψη ολόκληρου του ιστοτόπου.

Αν χρησιμοποιείτε προσαρμοσμένους τύπους περιεχομένου, οι ίδιες αρχές ισχύουν πέρα από τα προεπιλεγμένα πρότυπα — δείτε τον οδηγό μας για επέκταση του theme.json σε προσαρμοσμένους τύπους περιεχομένου και έξοδο plugin.

Τι συμβαίνει όταν κλειδώνετε υπερβολικά;

Ορίστε η αντιφατική άποψη: το υπερβολικό κλείδωμα είναι εξίσου επιβλαβές με το ανεπαρκές κλείδωμα. Ένας πελάτης που δεν μπορεί να αλλάξει το μέγεθος μιας επικεφαλίδας ή να προσθέσει κενό μεταξύ ενοτήτων θα σας ζητήσει τελικά να «απλώς να το κάνετε να φαίνεται σωστό» — και τότε επιστρέφετε στο να κάνετε μικρές επεξεργασίες δωρεάν. Χειρότερα, μπορεί να αποφασίσουν ότι ο Επεξεργαστής Ιστοτόπου είναι άχρηστος και να επιστρέψουν σε ένα τρίτο μέρος page builder, που τους δίνει πάρα πολύ έλεγχο ξανά.

Ο συμβιβασμός είναι πραγματικός. Οι περιορισμένοι επεξεργαστές παράγουν λιγότερες επείγουσες κλήσεις, αλλά παράγουν επίσης περισσότερα αιτήματα «μπορείς απλώς να μετακινήσεις αυτό το κουμπί πέντε pixel πιο πάνω;». Οι ανοιχτοί επεξεργαστές παράγουν το αντίθετο. Η δουλειά σας είναι να βρείτε το σημείο ισορροπίας για κάθε πελάτη, όχι να εφαρμόσετε μία διαμόρφωση καθολικά.

Ένα καλό αρχικό ευρετικό: κλειδώστε ό,τι επηρεάζει όλες τις περιπτώσεις κάτι (καθολικά στυλ, δομή προτύπου) και αφήστε ανοιχτό ό,τι επηρεάζει μία περίπτωση (κείμενο και εικόνες μιας μεμονωμένης σελίδας). Αν ένας πελάτης χαλάσει μία σελίδα, είναι διόρθωση 5 λεπτών. Αν χαλάσει ένα καθολικό στυλ, είναι διόρθωση 20 λεπτών και θέμα ασφάλειας.

Πώς το κάνετε αυτό επαναλαμβανόμενο σε όλους τους πελάτες;

Εδώ μπαίνει η ροή εργασίας της εταιρείας. Θα πρέπει να έχετε ένα βασικό theme.json που ορίζει τα σχεδιαστικά σας tokens — την παλέτα χρωμάτων, την κλίμακα τυπογραφίας και τις προεπιλογές αποστάσεων — και στη συνέχεια ένα αρχείο παραμέτρων ανά πελάτη που επεκτείνει ή αλλάζει συγκεκριμένες τιμές.

Ξεκινήστε δημιουργώντας ένα «εκκινητήριο» block theme. Δείτε πώς να δημιουργήσετε ένα προσαρμοσμένο block theme με το theme.json — μόλις το αναπτύξετε και το τεκμηριώσετε, η αντιγραφή του σε έναν νέο πελάτη είναι θέμα αλλαγής χρωμάτων και γραμματοσειρών της μάρκας. Δεν ξαναχτίζετε τον τροχό· αλλάζετε τα tokens. Αυτή είναι ακριβώς η νοοτροπία του σταματήστε να ξαναχτίζετε κάθε ιστότοπο WordPress, αλλά εφαρμοσμένη στον επεξεργαστή αντί για το backend.

Επειδή το theme.json είναι ένα μεμονωμένο αρχείο, είναι επίσης εύκολο να το διαχειριστείτε με έλεγχο εκδόσεων και να το αναπτύξετε σε πολλαπλά περιβάλλοντα. Μπορείτε να εξετάσετε τις αλλαγές, να δείτε τι έχει τροποποιήσει ο πελάτης στα καθολικά στυλ και να συγκρίνετε αυτές τις αλλαγές με το βασικό σας αρχείο. Αυτό σας δίνει μια ισχυρή διαδρομή ελέγχου για αιτήματα υποστήριξης.

Αν διατηρείτε πολλούς ιστότοπους και δεν έχετε ακόμα δημιουργήσει ένα βασικό θέμα, αυτή είναι η ευκαιρία σας. Είναι το ένα κομμάτι προσαρμοσμένης εργασίας WordPress που αποδίδει κάθε φορά που ένας πελάτης ανοίγει τον επεξεργαστή.

Τι γίνεται με τους πελάτες που ζητούν συνέχεια «άλλο ένα χρώμα»;

Η παλέτα σας είναι μια υπόσχεση. Αν ορίσετε πέντε χρώματα μάρκας και ένας πελάτης ζητήσει ένα έκτο, η απάντηση δεν είναι «όχι» — είναι «ναι, αλλά έρχεται ως μια σκόπιμη προσθήκη στην παλέτα, όχι ως ένα μεμονωμένο hex code σε μια επικεφαλίδα». Όταν προσθέτετε ένα χρώμα στο theme.json, γίνεται διαθέσιμο σε ολόκληρο τον ιστότοπο με συνέπεια. Αυτός είναι ο σωστός τρόπος να χειριστείτε αυτά τα αιτήματα.

Εδώ πρέπει επίσης να επικοινωνήσετε με τον πελάτη. Εξηγήστε ότι ο Επεξεργαστής Ιστοτόπου τους δείχνει μόνο τα χρώματα και τις γραμματοσειρές που ταιριάζουν με τα πρότυπα της μάρκας τους. Αν θέλουν να επεκτείνουν αυτά τα πρότυπα, θα το χειριστείτε στο σύστημα σχεδιασμού και τότε κάθε νέο χρώμα θα είναι διαθέσιμο παντού — συμπεριλαμβανομένων μελλοντικών σελίδων που δεν έχουν ακόμα δημιουργήσει. Αυτή είναι πολύ καλύτερη απάντηση από το «δεν το κάνουμε αυτό».

Ταυτόχρονα, μην συγκεντρώνετε μια παλέτα με σαράντα χρώματα. Επανεξετάστε την ανά τρίμηνο και αφαιρέστε οτιδήποτε ήταν ένα μεμονωμένο ατύχημα. Ο στόχος είναι ένα μικρό, σκόπιμο σύνολο επιλογών.

Αν κλειδώσετε τη διάταξη αλλά αφήσετε το περιεχόμενο, και κάνετε την παλέτα ζωντανό μέρος της σχέσης σας με τον πελάτη, ο Επεξεργαστής Ιστοτόπου παύει να αποτελεί απειλή. Γίνεται ένας τρόπος να δώσετε στους πελάτες σας πραγματική αυτονομία χωρίς να θυσιάσετε τα πρότυπα σχεδιασμού που πληρώνεστε για να προστατεύετε.

Sources (5)