Anonim

Όπως ισχυρίζεται η κορυφαία κοινότητα CMS, το 25% του διαδικτύου χρησιμοποιεί WordPress. Βλέποντας τις τάσεις, δεν έχουμε άλλη επιλογή παρά να τις πιστέψουμε, σχεδόν κάθε 2 ο blog και κάθε 4 ο ιστότοπος φαίνεται να χρησιμοποιεί προφανώς το πιο ισχυρό και φιλικό προς το χρήστη CMS. Ανυπομονούμε για αυτό, οι άνθρωποι και οι προγραμματιστές έχουν αρχίσει να μετατοπίζουν τους ιστότοπούς τους στην πλατφόρμα WordPress.

Σε αυτήν την προσπάθεια να μεταμορφώσετε τον γλυκό και απλό ιστότοπό σας σε ένα πολύπλοκο site CMS υψηλής απόδοσης, οι άνθρωποι κολλάνε σε ένα πολύ βασικό βήμα και έθεσαν την ερώτηση: Για την αγάπη, πώς μπορώ να βρω αυτό το εξωτερικό αρχείο JavaScript (.js) που εργάζονται σε αυτό το WordPress θέμα; Είστε και εσείς που ζητάτε την ίδια ερώτηση; Καλά amigos, είστε τελικά στο σωστό μέρος: Είμαι εδώ για να σας καθοδηγήσω βήμα προς βήμα με τον απλούστερο τρόπο για να επιτύχετε αυτό το έργο!

Τώρα υποθέτοντας ότι έχετε το WordPress όλα εγκατασταθεί και πυροβοληθεί με την εξωτερική JS έτοιμη, ας πάρουμε στο έργο του να συμπεριλάβει το αρχείο!

Σημείωση: Χρησιμοποιώ το ακόλουθο αρχείο (testrun.js) για αυτό το σεμινάριο και το θέμα στο οποίο εργάζομαι είναι το Twenty Sixteen του WordPress .

alert ('Γεια σας');

Ας ξεκινήσουμε!

Όλες οι δέσμες ενεργειών και τα φύλλα στυλ φορτώνονται μέσα από το functions.php . Αυτός είναι ο σωστός τρόπος για να τα φορτώσετε μέσα στο WordPress, ώστε να αποφύγετε την σύγκρουση με άλλα σενάρια που φορτώνονται είτε από το ίδιο το WordPress είτε από τα plugins που χρησιμοποιείτε. Εάν αφήσετε το WordPress να διαχειριστεί όλα τα αρχεία που περιλαμβάνονται, θα πρέπει να το ενημερώσετε ότι θέλετε να συμπεριληφθεί αυτό το αρχείο στο τμήμα της κεφαλίδας (αρχής) ή υποσέλιδου (τέλος) του αρχείου. Κάθε πρότυπο / θέμα έχει τις δικές του λειτουργίες.php έτσι το ακριβές όνομα των λειτουργιών που περιλαμβάνει όλα τα αρχεία που θα συμπεριληφθούν θα ήταν δύσκολο να γενικευτεί. Δεδομένου ότι παίρνω είκοσι δεκαέξι ως θέμα, παρακάτω είναι το στιγμιότυπο του πώς λειτουργίες.php μου (χρησιμοποιείται για την εγγραφή αρχείων). Η δική σας θα πρέπει σε κάποιο βαθμό να μοιάζει με αυτό:

Η συνάρτηση wp_enqueue_script συνδέει ένα αρχείο δέσμης ενεργειών με τη σελίδα που δημιουργήθηκε τη σωστή στιγμή, ανάλογα με τις εξαρτήσεις σεναρίου, αν το σενάριο δεν έχει ήδη συμπεριληφθεί και εάν έχουν καταχωρηθεί όλες οι εξαρτήσεις. Μπορείτε είτε να συνδέσετε μια δέσμη ενεργειών με ένα χειριστήριο που έχει καταχωρηθεί προηγουμένως χρησιμοποιώντας τη συνάρτηση wp_register_script (), είτε να παράσχετε αυτήν τη λειτουργία όλες τις απαραίτητες παραμέτρους για τη σύνδεση μιας δέσμης ενεργειών.

Το wp_enqueue_script ($ handle, $ src, $ deps, $ ver, $ in_footer) παίρνει τις ακόλουθες παραμέτρους:

$ λαβή

(συμβολοσειρά) (Απαιτείται) Όνομα του σεναρίου.

$ src

(string | bool) (Προαιρετικό) Διαδρομή στη δέσμη ενεργειών από τον ριζικό κατάλογο του WordPress. Παράδειγμα: '/js/myscript.js'.

Προεπιλεγμένη τιμή: ψευδής

$ deps

(array) (Προαιρετικό) Μια σειρά καταχωρημένων λαβών που εξαρτάται από αυτό το σενάριο.

Προεπιλεγμένη τιμή: array ()

$ ver

(string | bool) (Προαιρετικό) String καθορίζοντας τον αριθμό έκδοσης της δέσμης ενεργειών, αν έχει ένα. Αυτή η παράμετρος χρησιμοποιείται για να διασφαλίσει ότι η σωστή έκδοση αποστέλλεται στον πελάτη ανεξάρτητα από την προσωρινή αποθήκευση και, συνεπώς, θα πρέπει να συμπεριλαμβάνεται εάν είναι διαθέσιμος ένας αριθμός έκδοσης και έχει νόημα για το σενάριο.

Προεπιλεγμένη τιμή: ψευδής

$ in_footer

(bool) (Προαιρετικό) Είτε πρόκειται να σβήσει το σενάριο πριν ή πριν . Προεπιλογή 'ψευδής'. Αποδέχεται "ψευδή" ή "αληθινό".

Προεπιλεγμένη τιμή: ψευδής

Μπορείτε να αγνοήσετε τη συνάρτηση wp_register_script () για αυτό το σεμινάριο. Ο σκοπός μας είναι να συμπεριλάβουμε μόνο μια εξωτερική JS. Θα πρέπει να δουλεύει καλά χωρίς αυτό!

Επομένως, αν θέλω να ονομάσω το σενάριο μου ως "test", θυμηθείτε ότι αυτό το param ($ handle) ΔΕΝ είναι αναγκαστικά το όνομα του πραγματικού αρχείου και το αρχείο μου έχει εξωτερική εξάρτηση από το jquery και η έκδοση είναι 1.0 και φορτώνεται πριν φορτωθεί η σελίδα τότε η λειτουργία μου θα μοιάζει με:

wp_enqueue_script ('tutorial', get_template_directory_uri (). '/ js / testrun.js', πίνακας ('jquery'), '1.0', ψευδής);

Αν παρατηρήσετε, έχω χρησιμοποιήσει το get_template_directory_uri (), οπότε η συμβολοσειρά που συνενώνεται μετά τη λειτουργία, δηλαδή " /js/testrun.js " είναι στην πραγματικότητα η διαδρομή του αρχείου wrt του αρχείου ευρετηρίου του προτύπου .

Έτσι, το χαρακτηριστικό $ src, το οποίο είναι η πηγή του αρχείου js, γίνεται: get_template_directory_uri (). Path_to_js_wrt_index_of_template.

Επομένως, η τελική function.php μοιάζει με:

Κρατήστε εκεί, σχεδόν τελειώσαμε! Απλά αποθηκεύστε αυτό τώρα και χτυπήστε refresh στην ιστοσελίδα σας … θα πρέπει να δείτε το JS εργασίας! Εδώ είναι δικό μου:

Αφού ορίσαμε την επιλογή $ in_footer σε ψευδή, η δέσμη ενεργειών φορτώνεται πριν τη φόρτωση της σελίδας, αλλά μετά την φόρτωση του JQuery καθώς προστέθηκε ως εξάρτηση!

Και .. Voila! Εδώ πηγαίνετε .. Έχετε συμπεριλάβει με επιτυχία ένα εξωτερικό προσαρμοσμένο αρχείο JS στο θέμα WP σας!

Happy Coding !!

Αναφορά: Κλειδί: Κώδικας WordPress

Ποιος είναι ο καλύτερος τρόπος για να προσθέσετε προσαρμοσμένες εξωτερικές js στο wordpress