Το WordPress Plugin Boilerplate 101: Πώς να ξεκινήσετε

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


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

Σε αυτό το άρθρο, θα εξετάσω μια πιθανή λύση – Πρόγραμμα WordPress Plugin Boilerplate. Σκοπεύει να είναι ένα σημείο εκκίνησης για την ανάπτυξη προσθηκών, ένας αντικειμενοστρεφής τρόπος δημιουργίας τυποποιημένης προσθήκης. Δεδομένου ότι κωδικοποιείται με τις αρχές OOP, προορίζεται κυρίως για ενδιάμεσους κωδικοποιητές, αλλά μπορείτε εύκολα να το χρησιμοποιήσετε ακόμη και ως αρχάριος αν ξέρετε τι πηγαίνει πού. Μέχρι το τέλος αυτού του άρθρου, θα πρέπει να γνωρίζετε τι είναι και πώς μπορείτε να ξεκινήσετε με αυτό – ανεξάρτητα από την εμπειρία κωδικοποίησης.

Γενική δομή αρχείων

Το boilerplate προορίζεται να χρησιμοποιηθεί ως αποθετήριο Github, οπότε ο κύριος κατάλογος περιέχει αρχεία που βρίσκονται συνήθως στα αποθετήρια Github. Το αρχείο README.md είναι ένα γενικό readme και εμφανίζεται στην κύρια σελίδα αποθετηρίου σας ως περιγραφή. Το αρχείο CHANGELOG.md προορίζεται για την καταγραφή αλλαγών μεταξύ της έκδοσης και το αρχείο .gitignore είναι για τη ρύθμιση αρχείων που πρέπει να αγνοήσει το git κατά την εργασία με αρχεία.

Ο κύριος φάκελος εδώ είναι το όνομα της προσθήκης είναι όπου αποθηκεύεται η προσθήκη. Η δομή του ακολουθεί το αποθετήριο WordPress και μπορείτε "έλεγχος εισιτηρίου" αυτόν τον φάκελο στο repo plugin SVN. Από προεπιλογή, περιέχει το φάκελο στοιχείων, ο οποίος αποθηκεύει εικόνες και στιγμιότυπα οθόνης για την προσθήκη σας και τον φάκελο κορμού, ο οποίος περιέχει τον κωδικό για την προσθήκη.

Ο φάκελος trunk είναι αυτός που περιέχει την προσθήκη, μπορείτε να επικολλήσετε αυτόν τον φάκελο σε μια εγκατάσταση WordPress και να ενεργοποιήσετε την προσθήκη σας. Θα εξετάσουμε λεπτομερώς το περιεχόμενο αυτού του φακέλου λίγο αργότερα. Πριν το κάνουμε αυτό, ας ξεκινήσουμε.

νέα προσθήκη

Ρύθμιση όλων

Έχοντας όλους αυτούς τους φακέλους και την απροσδόκητη SVN / Git σε ένα μέρος είναι όλα καλά και καλά, αλλά πώς μπορείτε πραγματικά να το χρησιμοποιήσετε; Δεν μπορείτε να ελέγξετε ολόκληρο το φάκελο απευθείας στον φάκελο προσθηκών σας, απλά δεν θα λειτουργήσει. Ο έλεγχος μόνο του καταλόγου κορμού είναι μια ταλαιπωρία, καθώς δεν θα έχετε πρόσβαση σε αρχεία εκτός αυτού του καταλόγου.

Επιτρέψτε μου να σας δείξω τον αγαπημένο μου τρόπο ρύθμισης των πραγμάτων. Έχω έναν φάκελο στον υπολογιστή μου με την ακόλουθη δομή:

  • github
    • Κορυφαίοι συγγραφείς
    • Εύκολα-Προτεινόμενα-Εικόνες
    • Χρονοδιάγραμμα χρήστη-Twitter
  • html
    • wp-διαχειριστής
    • wp-περιεχόμενο
    • wp-περιλαμβάνει
    • άλλα αρχεία wordpress
  • wordpress
    • κορυφαίοι συγγραφείς
    • εύχρηστες εικόνες
    • χρονοδιαγράμματα χρήστη-twitter

Ο φάκελος html είναι όπου είναι εγκατεστημένο το WordPress. Ο φάκελος github περιέχει όλες τις προσθήκες WordPress από το Github. Ο φάκελος wordpress περιέχει τα ίδια πρόσθετα που τραβήχτηκαν μέσω SVN από το αποθετήριο WordPress.

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

Το πρώτο βήμα που κάνω είναι να δημιουργήσω μια έκδοση βανίλιας του WordPress Plugin Boilerplate στο Github. Τότε το ελέγξω στο φάκελο github. Στη συνέχεια, δημιουργώ ένα symlink μεταξύ του φακέλου trunk μέσα στον κατάλογο wp-content / plugins της εγκατάστασης του WordPress.

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

  • Μπορείτε να αποθηκεύσετε προσθήκες αλλού.
  • Μπορείτε να συνδέσετε έναν φάκελο από ένα μεγαλύτερο αποθετήριο.
  • Μπορείτε να συνδέσετε το ίδιο plugin σε πολλαπλές εγκαταστάσεις.

Η δημιουργία symlink είναι εύκολη από το τερματικό ή τη γραμμή εντολών στα Windows. Προτείνω να ανοίξετε ένα και να μεταβείτε στον κατάλογο προσθηκών της εγκατάστασης του WordPress. Στη συνέχεια, πληκτρολογήστε την ακόλουθη εντολή:

# Για OSX ή Linux
ln -s / απόλυτο / διαδρομή / προς / github / My-Plugin-Name / my-plugin-name / trunk my-plugin-name

# Για Windows
mklink / j C: \ απόλυτο \ path \ to \ github \ My-Plugin-Name my-plugin-name

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

Μόλις τελειώσετε, θα πρέπει να δείτε το νέο σας πρόσθετο, όπως στην παραπάνω εικόνα. Θα χρειαστεί να προσαρμόσουμε τα πράγματα, αλλά τώρα έχουμε την προσθήκη μας να τρέχει από το αποθετήριο Github, καθιστώντας την ανάπτυξη μια παρτίδα ευκολότερη.

Μετονομασία

Υπάρχουν πολλοί φάκελοι και αρχεία στον κατάλογο κορμών, ας αρχίσουμε να τα μετονομάζουμε! Πρώτα απ ‘όλα, σας συνιστώ να ονομάσετε το αποθετήριό σας χρησιμοποιώντας παύλες και κεφαλαία γράμματα, κάτι σαν αυτό: My-Awesome-Plugin. Ο κύριος φάκελος εντός θα πρέπει να ονομάζεται «my-awesome-plugin». Προτείνω να χρησιμοποιήσετε αυτήν τη σύμβαση σε όλη την προσθήκη.

Η μετονομασία των αρχείων είναι εύκολη στο OSX. Ανοίξτε όλους τους φακέλους και επιλέξτε όλα τα αρχεία που έχουν το όνομα της προσθήκης συμβολοσειράς. Κάντε δεξί κλικ για μετονομασία και των 14 αρχείων και μετονομασία παρτίδας.

μετονομάζω

Θα είναι λίγο πιο δύσκολο στα Windows, ρίξτε μια ματιά σε αυτό HowToGeek άρθρο για περισσότερες πληροφορίες ή απλώς πηγαίνετε ένα προς ένα.

Όροι όπως "όνομα προσθήκης" και άλλες παραλλαγές διαδίδονται σε όλο το περιεχόμενο του αρχείου επίσης. Μπορείς να χρησιμοποιήσεις Μεγαλείο, Atom.io ή άλλα ικανά προγράμματα επεξεργασίας κειμένου για μαζική αντικατάσταση σε πολλά αρχεία. Ακολουθεί μια λίστα με αυτό που πρέπει να αντικαταστήσετε (βεβαιωθείτε ότι έχετε κάνει αντικατάσταση με κεφαλαία γράμματα).

  • plugin_name θα πρέπει να γίνει my_awesome_plugin
  • Plugin_Name θα πρέπει να γίνει My_Awesome_Plugin
  • όνομα προσθήκης θα πρέπει να γίνει το my-awesome-plugin

Όταν τελειώσετε, φροντίστε να συμπληρώσετε το σχόλιο κεφαλίδας του κύριου αρχείου (my-awesome-plugin.php) για να το προσαρμόσετε στις ανάγκες σας.

Πίνακας περιεχομένων

Υπάρχουν πολλά περιεχόμενα στο WordPress Plugin Boilerplate. Η ιδέα είναι να ορίσετε αυστηρές οδηγίες για το πού μπορείτε να βάλετε τα πράγματα. Υπάρχει ένα συγκεκριμένο μέρος για να προσθέσετε τα άγκιστρα σας, για παράδειγμα, ένα τυπικό μέρος για να προσθέσετε λειτουργίες front-end και ούτω καθεξής. Ας ρίξουμε μια ματιά στα κύρια μέρη του πλαισίου.

Σημειώστε ότι θα αναφερθώ στα αρχεία όπως έχουν μετονομαστεί, για παράδειγμα: include / class-my-awesome-plugin.php. Εάν έχετε μετονομάσει την προσθήκη σας σε κάτι άλλο, θα πρέπει να θυμάστε ότι το τμήμα my-awesome-plugin του ονόματος αρχείου θα είναι διαφορετικό για εσάς.

Ενεργοποίηση, απενεργοποίηση και απεγκατάσταση

Οποιοσδήποτε κώδικας θέλετε να εκτελέσετε όταν είναι ενεργοποιημένη η προσθήκη θα πρέπει να περιλαμβάνει το / my-awesome-plugin-name-activator.php. Σε αυτό το αρχείο, υπάρχει μια κλάση με το όνομα My_Awesome_Plugin_Activator μέσα στην οποία υπάρχει μια μέθοδο ενεργοποίησης () που πρέπει να χρησιμοποιήσετε.

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

Ο κωδικός που πρέπει να εκτελέσετε κατά την απενεργοποίηση πρέπει να τοποθετηθεί στο include / my-awesome-plugin-name-deactivator.php. Η μέθοδος activate () στο My_Awesome_Plugin_Deactivator είναι αυτή που θα πρέπει να χρησιμοποιήσετε.

Πιστεύετε ότι αυτό είναι λίγο πολύ περίπλοκο; Δεν σε κατηγορώ! Όταν αρχίσετε να χρησιμοποιείτε αντικειμενοστρεφείς έννοιες, θα δείτε το πλεονέκτημα αυτού του διαδικαστικού κώδικα. Εάν τίποτα άλλο, παρέχει ένα πολύ προφανές μέρος για να βάλετε τον κωδικό σας, ο οποίος από μόνο του είναι τεράστια βοήθεια.

Για απεγκατάσταση, η συνιστώμενη μέθοδος είναι να χρησιμοποιήσετε το uninstall.php που κάνει το WordPress Plugin Boilerplate. Ο κωδικός σας πρέπει να τοποθετηθεί στο κάτω μέρος αυτού του αρχείου.

Προσθήκη αγκιστριών

Ο γάντζος χειρίζεται το WordPress Plugin Boilerplate εκπληκτικά, αλλά μπορεί να φαίνεται λίγο δύσκολο στην αρχή. Όλα τα άγκιστρα σας πρέπει να τοποθετηθούν μέσα στο / class-my-awesome-plugin.php. Πιο συγκεκριμένα, μέσα στην κλάση My_Awesome_Plugin, σε δύο μεθόδους:

  • define_public_hooks () κατά την προσθήκη ενός γάντζου που χρησιμοποιείται στο front-end
  • define_admin_hooks () κατά την προσθήκη ενός γάντζου που χρησιμοποιείται στο back-end

Αντί να χρησιμοποιείτε το add_action () ή το add_filter () ως συνήθως, θα πρέπει να κάνετε τα πράγματα λίγο διαφορετικά. Δείτε πώς μπορείτε να τροποποιήσετε τα περιεχόμενα της ανάρτησης για παράδειγμα.

$ αυτό->φορτωτής->add_action (‘the_content’, $ plugin_public, ‘modify_post_content’);

Η πρώτη παράμετρος είναι το όνομα του άγκιστρου, η δεύτερη είναι μια αναφορά στο αντικείμενο δημόσιου ή διαχειριστή. Για τα δημόσια αγκίστρια αυτό θα πρέπει να είναι $ plugin_public, για τα αγκίστρια διαχειριστή θα πρέπει να είναι $ plugin_admin. Η τρίτη παράμετρος είναι η αγκιστρωμένη συνάρτηση.

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

Δημόσιο και διαχειριστικό περιεχόμενο

Το WordPress Plugin Boilerplate χωρίζει άγκιστρα σε διαχειριστές / δημόσιες ομάδες, αλλά δεν είναι μόνο αυτό. Διαχωρίζει όλο τον κωδικό σας με τον ίδιο τρόπο, ζητώντας σας να γράψετε δημόσιο κώδικα στον δημόσιο φάκελο και διαχειριστή κώδικα στον φάκελο διαχειριστή.

Και οι δύο φάκελοι περιέχουν φακέλους css, js και partials. Θα πρέπει να τοποθετήσετε μεταχειρισμένα στοιχεία CSS / JS σε αυτούς τους φακέλους και να γράψετε πρότυπα και άλλα επαναχρησιμοποιήσιμα κομμάτια HTML στο φάκελο partials. Είναι εντάξει να δημιουργείτε νέα αρχεία στο φάκελο μερικών, στην πραγματικότητα, για αυτό ακριβώς υπάρχει!

Θα πρέπει επίσης να γράψετε τις συνδεδεμένες λειτουργίες σας σε αυτούς τους φακέλους, εντός της τάξης στους αντίστοιχους καταλόγους. Όταν συνδέσαμε τη συνάρτηση modify_post_content με το παραπάνω περιεχόμενο, είπαμε στο WordPress Plugin Boilerplate πού να το ψάξουμε επίσης. Δεδομένου ότι το προσθέσαμε στην πλευρά που βλέπει το κοινό, το WordPress Plugin Boilerplate αναμένει ότι θα οριστεί εντός της κλάσης My_Awesome_Plugin_Public που βρίσκεται στο δημόσιο φάκελο. Απλώς δημιουργήστε αυτήν τη λειτουργία μέσα στην τάξη και γράψτε τα πάντα όπως συνήθως.

Πόροι και εξαρτήσεις

Εάν θέλετε να χρησιμοποιήσετε εξωτερικούς πόρους, όπως Ενεργοποίηση προσθηκών TGM, θα πρέπει να το προσθέσετε στο φάκελο include. Το TGM είναι ένα μεμονωμένο αρχείο που ονομάζεται class-tgm-plugin-activation.php που πρέπει να συμπεριληφθεί στο αρχείο class-my-awesome-plugin.php, μέσα στη μέθοδο load_dependencies ():

απαιτείται_once plugin_dir_path (όνομα χρήστη (__FILE__)). ‘include / class-tgm-plugin-activation.php’;

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Μπερδεύεστε από όλα τα ονόματα και τις λειτουργίες των αρχείων; Μην ανησυχείτε, θα το κερδίσετε πολύ γρήγορα. Στην πραγματικότητα, συνήθως τροποποιείτε μόνο τρία αρχεία:

  • Το.
  • public / class-my-awesome-plugin-public.php είναι το σημείο όπου προσθέτετε όλες τις λειτουργίες που αντιμετωπίζουν το κοινό.
  • admin / class-my-awesome-plugin-admin.php είναι όπου πηγαίνουν όλες οι λειτουργίες που αντιμετωπίζουν οι διαχειριστές.

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

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map