Μετάβαση στο περιεχόμενο

Ρυθμίσεις cookies

Επιλέξτε ανά κατηγορία ποια cookies επιτρέπετε. Μπορείτε να αλλάξετε την επιλογή σας οποιαδήποτε στιγμή μέσω των Ρυθμίσεων cookies στο κάτω μέρος κάθε σελίδας. Δήλωση απορρήτου

Απαραίτητα

Πάντα ενεργά

Χρειάζονται για τη σύνδεση, για να διατηρείται το καλάθι σας και για να θυμόμαστε τις επιλογές σας. Είναι πάντα ενεργά.

Ποια cookies;
  • weboke_sessie, weboke_klant, weboke_remember: η συνεδρία σας και η παραμονή σε σύνδεση
  • weboke_basket: το καλάθι σας
  • wkBtwIncl: εμφάνιση τιμών με ή χωρίς ΦΠΑ
  • wok_cookies: η επιλογή σας για τα cookies, 12 μήνες

Μετρούν ποια διαφήμιση οδηγεί σε επίσκεψη ή παραγγελία, ώστε να μην πληρώνουμε για διαφημίσεις που δεν αποδίδουν.

Ποια cookies;
  • Google Ads μέσω Google Tag Manager (_gcl_au, _gcl_aw), έως 90 ημέρες
  • OpenAI Ads, διαφημίσεις στο ChatGPT
  • wok_aff: μέσω ποιου συνεργάτη ήρθατε σε εμάς (πρόγραμμα συνεργατών), 60 ημέρες

4,6

Χώρα και γλώσσα

Κάθε χώρα έχει τη δική της ιστοσελίδα, με τιμές και ΦΠΑ της χώρας αυτής.

Προβολή

Δημιουργία ενός child theme

Ενότητα 5: Θέματα εμφάνισης και πρόσθετα · Χρόνος ανάγνωσης: 9 λεπτά

Μαθησιακός στόχος: Μετά από αυτό το μάθημα θα μπορείτε να δημιουργήσετε ένα child theme και θα ξέρετε πότε το χρειάζεστε και πότε όχι.

Βασικές έννοιες: child theme, γονικό θέμα εμφάνισης (parent theme), Template: στο style.css, functions.php, wp_enqueue_style, αντικατάσταση προτύπου, theme.json σε ένα child, Create Block Theme

Το πρόβλημα που λύνει ένα child theme

Φανταστείτε: θέλετε η κεφαλίδα του κλασικού σας θέματος εμφάνισης να είναι λίγο διαφορετική, και γι' αυτό τροποποιείτε το header.php στον φάκελο του θέματος εμφάνισης. Λειτουργεί. Τρεις εβδομάδες αργότερα κυκλοφορεί μια ενημέρωση του θέματος εμφάνισης, την οποία αφήνετε να εγκατασταθεί αυτόματα (όπως πρέπει, μάθημα 7.2). Η ενημέρωση αντικαθιστά όλα τα αρχεία του θέματος εμφάνισης, και η τροποποίησή σας χάνεται.

Ένα child theme είναι ένα μικρό θέμα εμφάνισης που λέει: «χρησιμοποίησε όλα τα στοιχεία αυτού του άλλου θέματος εμφάνισης (το γονικό θέμα εμφάνισης, parent theme), εκτός από αυτά που έχω εγώ.» Τοποθετείτε τις τροποποιήσεις σας στο child theme. Το γονικό θέμα εμφάνισης συνεχίζετε κανονικά να το ενημερώνετε, και οι τροποποιήσεις σας παραμένουν.

Πότε ναι και πότε όχι

Χρειάζεστε ένα child theme αν θέλετε να προσαρμόσετε ή να συμπληρώσετε αρχεία ενός θέματος εμφάνισης:

  • θέλετε ένα πρότυπο (σε ένα κλασικό θέμα εμφάνισης ένα αρχείο PHP, σε ένα θέμα εμφάνισης με μπλοκ ένα πρότυπο HTML) διαφορετικό·
  • θέλετε δική σας CSS που είναι πολύ μεγάλη για το πεδίο CSS·
  • θέλετε δικό σας κώδικα PHP που σχετίζεται με την εμφάνιση (ένα επιπλέον μέγεθος εικόνας, μια επιπλέον θέση μενού).

Δεν χρειάζεστε child theme αν:

  • προσαρμόζετε ένα θέμα εμφάνισης με μπλοκ στον Eπεξεργαστή ιστότοπου: αυτές οι προσαρμογές αποθηκεύονται στη βάση δεδομένων και παραμένουν μετά από μια ενημέρωση (μάθημα 5.1)·
  • προσθέτετε μόνο λίγη CSS μέσω της επιλογής Πρόσθετη CSS (στον Προσαρμογέα για ένα κλασικό θέμα εμφάνισης, ή στα Στυλ του Eπεξεργαστή ιστότοπου)·
  • θέλετε να προσθέσετε μια λειτουργία που δεν έχει καμία σχέση με την εμφάνιση (μια φόρμα, μια σύνδεση). Αυτή ανήκει σε ένα πρόσθετο, ώστε να επιβιώνει από μια αλλαγή θέματος εμφάνισης.

Ένα child theme για ένα κλασικό θέμα εμφάνισης

Ένα child theme είναι ένας φάκελος μέσα στο wp-content/themes/ με τουλάχιστον ένα αρχείο: το style.css. Ας υποθέσουμε ότι το γονικό θέμα εμφάνισής σας βρίσκεται στο wp-content/themes/hoofdthema/. Δημιουργήστε τότε έναν φάκελο wp-content/themes/hoofdthema-child/ με αυτό το style.css:

/*
Theme Name:   Hoofdthema Child
Template:     hoofdthema
Description:  Προσαρμογές για το example.com
Version:      1.0.0
Text Domain:  hoofdthema-child
*/

/* Το δικό σας CSS ακολουθεί παρακάτω. */
.site-header { border-bottom: 3px solid #e8a33d; }

Η πιο σημαντική γραμμή είναι η Template:. Εκεί αναγράφεται το όνομα του φακέλου του γονικού θέματος εμφάνισης (όχι το όνομα που βλέπετε στον Πίνακα Ελέγχου). Αν αυτό δεν είναι ακριβές (κεφαλαία γράμματα, παύλες), το WordPress αναφέρει στο Εμφάνιση > Θέματα ότι λείπει το γονικό θέμα εμφάνισης.

Επιπλέον, δημιουργείτε ένα functions.php για να φορτώνονται τα stylesheets. Ο σωστός τρόπος:

<?php
add_action( 'wp_enqueue_scripts', function () {
    wp_enqueue_style(
        'hoofdthema-child',
        get_stylesheet_uri(),
        array(),
        wp_get_theme()->get( 'Version' )
    );
} );

Το αν το γονικό θέμα εμφάνισης φορτώνει μόνο του το δικό του stylesheet διαφέρει ανά θέμα εμφάνισης. Δείτε την τεκμηρίωση του γονικού σας θέματος εμφάνισης· ορισμένα ζητούν επίσης στο child να φορτώνετε το stylesheet του parent με το get_template_directory_uri() . '/style.css'. Αν ο ιστότοπός σας μετά την ενεργοποίηση εμφανίζεται χωρίς μορφοποίηση, τότε το stylesheet του parent δεν φορτώνεται.

Αν θέλετε να προσαρμόσετε ένα πρότυπο, αντιγράψτε εκείνο το συγκεκριμένο αρχείο (για παράδειγμα το header.php) από το parent στο child σας και προσαρμόστε το αντίγραφο. Το WordPress κοιτάζει πρώτα στο child, έπειτα στο parent. Μην αντιγράφετε όλα τα αρχεία: τότε δεν θα λαμβάνετε πλέον τις βελτιώσεις του parent.

Το functions.php του child δεν αντικαθιστά εκείνο του parent, αλλά φορτώνεται πριν από αυτό. Και τα δύο εκτελούνται.

Ένα child theme για ένα θέμα εμφάνισης με μπλοκ

Σε ένα θέμα εμφάνισης με μπλοκ λειτουργεί με τον ίδιο τρόπο, με αρχεία μπλοκ:

  • style.css με την ίδια κεφαλίδα και το ίδιο Template:·
  • theme.json: αυτό συγχωνεύεται με εκείνο του parent, οπότε βάζετε μέσα μόνο ό,τι θέλετε να αλλάξετε (για παράδειγμα την παλέτα χρωμάτων)·
  • προαιρετικά πρότυπα στα templates/ και parts/ που αντικαθιστούν εκείνα του parent.

Ένα functions.php σε ένα θέμα εμφάνισης με μπλοκ συχνά δεν χρειάζεται, επειδή το WordPress φορτώνει μόνο του τα στυλ από το theme.json.

Υπάρχει ένα επίσημο πρόσθετο, το Create Block Theme, το οποίο δημιουργεί για εσάς ένα child theme μέσα από τον Eπεξεργαστή ιστότοπου, συμπεριλαμβανομένων των προσαρμογών σας στη βάση δεδομένων. Χρήσιμο αν έχετε προσαρμόσει ένα θέμα εμφάνισης με μπλοκ και θέλετε να καταγράψετε αυτές τις προσαρμογές σε αρχεία (για παράδειγμα για να τις μεταφέρετε σε άλλον ιστότοπο).

Έτσι το εγκαθιστάτε στον ιστότοπό σας

  1. Δημιουργήστε τον φάκελο και τα αρχεία στον δικό σας υπολογιστή και ελέγξτε τον φάκελο του γονικού θέματος εμφάνισης.
  2. Ανεβάστε τον φάκελο στο wp-content/themes/ με το File Manager ή μέσω SFTP. Ή συμπιέστε τον φάκελο σε zip και ανεβάστε τον στο Εμφάνιση > Θέματα > Προσθήκη νέου θέματος > Μεταφόρτωση Θέματος.
  3. Μεταβείτε στο Εμφάνιση > Θέματα. Το child theme σας βρίσκεται εκεί. Ενεργοποιήστε το.
  4. Ελέγξτε τον ιστότοπό σας: τα μενού και τα widgets ενδέχεται να χρειαστεί να συνδεθούν ξανά κατά την αλλαγή σε ένα child· οι ρυθμίσεις του Προσαρμογέα ισχύουν ανά θέμα εμφάνισης, οπότε τις ξαναρυθμίζετε ή τις εξάγετε με ένα πρόσθετο.
  5. Το γονικό θέμα εμφάνισης πρέπει να παραμείνει εγκατεστημένο. Μην το διαγράψετε· το child δεν λειτουργεί χωρίς αυτό.

Κάντε το αυτό κατά προτίμηση πρώτα σε ένα περιβάλλον δοκιμών (staging) (μάθημα 8.3), γιατί η αλλαγή θέματος εμφάνισης σε έναν απασχολημένο live ιστότοπο μπορεί προσωρινά να προκαλέσει σύγχυση.

Σύνοψη

  • Ένα child theme διατηρεί τις προσαρμογές σας στα αρχεία του θέματος εμφάνισης εκτός του γονικού θέματος εμφάνισης, ώστε οι ενημερώσεις να μην τις αντικαθιστούν.
  • Δεν το χρειάζεστε για προσαρμογές στον Eπεξεργαστή ιστότοπου ή για λίγη Πρόσθετη CSS· οι λειτουργίες ανήκουν σε ένα πρόσθετο.
  • Ελάχιστα απαιτούμενα: ένας φάκελος με style.css στο οποίο το Template: αναφέρει ακριβώς τον φάκελο του γονικού θέματος εμφάνισης.
  • Αντιγράψτε μόνο τα πρότυπα που πραγματικά προσαρμόζετε· το functions.php του child λειτουργεί παράλληλα με εκείνο του parent.
  • Το γονικό θέμα εμφάνισης παραμένει εγκατεστημένο και συνεχίζει να ενημερώνεται.

Κουίζ

1. Τι πρέπει να αναγράφεται στο Template: στο style.css ενός child theme;



2. Χρησιμοποιείτε ένα θέμα εμφάνισης με μπλοκ και έχετε προσαρμόσει την κεφαλίδα και τα χρώματα στον Eπεξεργαστή ιστότοπου. Χρειάζεστε ένα child theme για να αντέξουν αυτές οι προσαρμογές σε μια ενημέρωση;



3. Θέλετε να προσθέσετε μια σύνδεση με το λογισμικό λογιστικής σας. Πού ανήκει αυτός ο κώδικας;



4. Έχετε αντιγράψει όλα τα αρχεία του parent στο child σας «για σιγουριά». Ποιο είναι το μειονέκτημα;



Άσκηση

Άσκηση A5.2: Ελέγξτε το child theme σας. Δημιουργήστε ένα child theme για το θέμα εμφάνισής σας, στον δοκιμαστικό σας ιστότοπο ή σε περιβάλλον δοκιμών (staging) (μάθημα 8.3), και ενεργοποιήστε το. Συμπληρώστε τη διεύθυνση του ιστότοπου και το όνομα του φακέλου του child theme. Το πρόγραμμα ζητά το wp-content/themes/<φάκελος>/style.css και ελέγχει: το αρχείο υπάρχει, περιέχει ένα Theme Name: και ένα Template:, το style.css του parent σε εκείνον τον φάκελο υπάρχει επίσης, και η αρχική σελίδα παραπέμπει στο child theme (δηλαδή είναι ενεργό).

Άσκηση A5.2: Ελέγξτε το child theme σας



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

Άσκηση D5.2: Τι προσαρμόσατε και γιατί; Σημειώστε ποια αρχεία υπάρχουν στο child theme σας, τι προσαρμόσατε σε κάθε αρχείο και γιατί αυτό δεν μπορούσε να γίνει στον Eπεξεργαστή ιστότοπου, στην Πρόσθετη CSS ή σε ένα πρόσθετο. Επιβεβαιώστε ότι το γονικό θέμα εμφάνισης παραμένει εγκατεστημένο και έχει αυτόματες ενημερώσεις.

Άσκηση D5.2: Τι τροποποιήσατε και γιατί;

Αυτή την άσκηση την κάνετε μόνοι σας: κανείς δεν την ελέγχει. Σημειώστε τι έχετε κάνει και επισημάνετε την άσκηση ως ολοκληρωμένη.




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

Περαιτέρω ανάγνωση

Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες ελέγχου του WebOké· σε άλλους πίνακες ελέγχου λειτουργούν με παρόμοιο τρόπο.

Μια στιγμή…

Ρυθμίστε τα domains σας

Ρυθμίστε για κάθε domain τους nameservers, τη σύνδεση με το hosting σας και ποιος θα είναι ο κάτοχος.

Φόρτωση των domains σας…