Σε αυτό το βίντεο, μιλάω για μια συγκεκριμένη κατάσταση «πραγματικού κόσμου» που συμμετείχα στο πώς χειρίζομαι τη σελίδα Meetups CodePen.
Τις πρώτες μέρες των CodePen Meetups, είχαμε προγραμματίσει μόνο ένα. Ήταν η πρώτη συνάντηση CodePen στο Ώστιν του Τέξας. Έτσι έφτιαξα μια σελίδα ως μέρος του κύριου ιστότοπου CodePen (ένα έργο Rails) στη διεύθυνση URL / συναντήσεις /. Εκεί, έπρεπε να το σχεδιάσω όσο ήθελα. Σκέφτηκα τι είδους πληροφορίες έπρεπε να υπάρχουν σε αυτήν τη σελίδα και πώς να τις παρουσιάσω. (Στο βίντεο, σκάψαμε ένα αντίγραφο του ιστότοπου εκείνη τη στιγμή, μέσω των σελίδων Cached (στιγμιότυπο οθόνης)).
Ο χρόνος πέρασε. Πρόσθεσα μερικές συναντήσεις σε αυτήν, και η μορφή εμφάνισης πολλαπλών συναντήσεων στη σελίδα διαμορφώθηκε. Κατάλαβα τι κομμάτια πληροφοριών ήταν κοινά μεταξύ όλων των συναντήσεων και πώς να το δείξω. Ταυτόχρονα, οι ενημερώσεις γίνονταν κουραστικές. Η προσθήκη νέων είναι δουλειά. Είναι εύκολο να ξεχάσετε να αφαιρέσετε τα παλιά. Και είναι λίγο χάλια να διαγράφεις HTML σαν αυτό, γνωρίζοντας ότι είναι δυνητικά χρήσιμες πληροφορίες που καταστρέφεις. Ήμουν απλώς πάνω στην επεξεργασία ενός προτύπου HTML εδώ.
Ήρθε η ώρα ότι αυτό πρέπει πραγματικά να συστηματοποιηθεί και να μεταφερθεί σε ένα Σύστημα Διαχείρισης Περιεχομένου. Ευτυχώς, η κίνηση ήταν αρκετά εύκολη, καθώς ήξερα ακριβώς τι χρειαζόμουν και ήξερα ότι έχω εργαλεία για να το βγάλω. Έχουμε κάνει κάτι τέτοιο πριν από αρκετές φορές. Για παράδειγμα εδώ και εδώ.
Έρχεται κάπως έτσι:
- Δημιουργήστε έναν νέο προσαρμοσμένο τύπο ανάρτησης ("Meetups") με αυτό το πρόσθετο.
- Επισυνάψτε ακριβώς τα προσαρμοσμένα πεδία που θέλετε σε αυτό το CPT (ημερομηνία, ώρα, τόπος, κ.λπ.).
- Δημοσιεύστε μακριά!
Θέτουμε has_archive
σε true
για CPT μας, γι 'αυτό πήρε το URL / συναντήσεις / για δωρεάν, το οποίο χρησιμοποιεί το πρότυπο `αρχείο-meetups.php` αυτόματα. Ωστόσο, έπρεπε να κάνουμε σοβαρή προσαρμοσμένη εργασία σε αυτό το πρότυπο, όπως έπρεπε:
- Εμφάνιση όλων των πληροφοριών που χρειαζόμαστε ακριβώς όπως τις θέλουμε.
- Εμφάνιση επερχόμενων συναντήσεων με σειρά ημερομηνιών.
- Μετακινήστε αυτόματα παλιές συναντήσεις σε μια ενότητα "Παλαιότερες συναντήσεις".
Όλα εντελώς εφικτά. Αρχικά ας ζητήσουμε τις συναντήσεις που θέλουμε (μετά τη σημερινή ημερομηνία). Το κάνουμε αυτό εκτελώντας ένα προσαρμοσμένο ερώτημα που περιλαμβάνει το κατάλληλο προσαρμοσμένο πεδίο
'meetups', 'posts_per_page' => -1, 'meta_key' => 'date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'date', 'compare' => '>=', 'value' => $today )) )); foreach ($myposts as $post) : setup_postdata($post); // The loop! Output stuff! endforeach; wp_reset_postdata(); ?>
Η παραγωγή προσαρμοσμένων πεδίων είναι πολύ εύκολη με τα Προσαρμοσμένα προσαρμοσμένα πεδία. Σας δίνει μια λειτουργία που μπορείτε να χρησιμοποιήσετε ως εξής, απλώς ονομάστε το πεδίο:
Απλώς τοποθετήσαμε αυτό το είδος εξόδου στο υπάρχον HTML που χρησιμοποιούσαμε ήδη σε αυτό το νέο πρότυπο. Στη συνέχεια, εκτελούμε έναν άλλο βρόχο, μόνο με αντίστροφη σύγκριση ημερομηνιών, για τις προηγούμενες συναντήσεις.
Τίποτα δεν είναι πολύ αποκαλυπτικό εδώ, απλά ενθουσιάζομαι για αυτό το πράγμα γιατί:
- Αισθάνομαι πολύ παραγωγικό, για μια τόσο μικρή δουλειά (το έκανα ενώ βρισκόμουν στον καναπέ ένα βράδυ).
- Μπορώ να το κάνω χωρίς να χρειαστεί να κάνω σφάλμα στην ομάδα για να αναπτύξω κάτι φανταχτερό, μπορώ να χρησιμοποιήσω τις δεξιότητες προγραμματιστή μου για να το κάνω. (Θεωρώ ότι το παιχνίδι με θέματα WordPress και βασικές λειτουργίες αποτελεί δεξιότητα front-end).
Και φυσικά, δεν απαιτείται WordPress για αυτό. Είμαι βέβαιος ότι είναι δυνατό σε οποιοδήποτε CMS. Αυτό είναι το CMS. Μου αρέσει και γνωρίζω καλύτερα το WordPress.