Ανάπτυξη ενός plugin με Gutenberg blocks για custom post types


Θέλουμε να αναπτύξουμε έναν ιστότοπο που θα παρουσιάζουμε τα project ενός αρχιτέκτονα. Τα project χωρίζονται σε δύο κατηγορίες, τα αρχιτεκτονικά και τα τρισδιάστατα/φωτορεαλιστικά. Για κάθε project θέλουμε να κρατάμε κάποιες πληροφορίες. Αυτές είναι για τα αρχιτεκτονικά το έτος, η τοποθεσία και το είδος (για παράδειγμα μεζονέτα), ενώ για τα τρισδιάστατα το έτος, η τοποθεσία και ο πελάτης (συνεργαζόμενο γραφείο για το οποίο έγινε το project). Και για τις δύο κατηγορίες θέλουμε να αποθηκεύεται μια αντιπροσωπευτική εικόνα.

Όλα τα παραπάνω μπορούν να γίνουν με ένα θέμα και ένα plugin. Στο plugin θα ορίζουμε 2 custom post types. Επίσης θα αναπτυχθούν και μερικά blocks που θα αποθηκευούν τις αντίστοιχες πληροφορίες ως project metadata. Καθώς θα είναι υλοποιημένα σε ένα plugin, το θέμα που θα ορίζει την εμφάνιση του site θα είναι ανεξάρτητο από αυτά και μπορεί να αλλάζει πολύ πιο εύκολα. Στο θέμα θα μπορούσαμε να συμπεριλάβουμε κάποια block, όπως για παράδειγμα featured projects, αν και ακόμα και αυτά μπορούν να αναπτυχθούν ως μέρος του plugin, για να είναι διαθέσιμα ακόμα και σε περίπτωση αλλαγής θέματος.

  1. Τα θεμέλια
  2. Αρχιτεκτονικά project: το custom post type
  3. Τρισδιάστατα project: το custom post type
  4. Αρχιτεκτονικά project: καταχωρώντας το block type για τα metadata του project
  5. Αρχιτεκτονικά project: ο κώδικας του block type
  6. Τρισδιάστατα project