Κώδικας PHP στο WordPress - βέλτιστες πρακτικές. Πώς να γράψετε μια προσθήκη WordPress Παραδείγματα γραφής κώδικα στο wp

Γεια σας, αγαπητοί αναγνώστες του ιστότοπου του ιστολογίου. Αποφάσισα να αφιερώσω τη σημερινή δημοσίευση στο θέμα της συγγραφής άρθρων Επεξεργαστής HTML wordpress().

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

Όταν άρχισα για πρώτη φορά να γράφω blog και να γνωρίζω τη μηχανή, απλά δεν μπορούσα να χρησιμοποιήσω τον οπτικό επεξεργαστή. Κανένα πρόσθετο πρόσθετο δεν βοήθησε με αυτά διαφορετικές εκδόσεις, ούτε άλλοι «χοροί με ντέφι». Ως εκ τούτου, θέλοντας και μη, έπρεπε να κατακτήσω τον υπάρχοντα βασικό επεξεργαστή, ευτυχώς, μέχρι τότε ήμουν ήδη αρκετά εξοικειωμένος με τη γλώσσα σήμανσης υπερκειμένου.

Χρησιμοποιώντας μόνο τον Επεξεργαστή HTML στο WordPress

Αλλά δεν ήταν καν για HTML, αλλά για την ευκολία της εκτέλεσης καθημερινών και συχνά πραγματοποιούμενων ενεργειών. Ναι, το προεπιλεγμένο πρόγραμμα επεξεργασίας WordPress σάς επιτρέπει να κάνετε έντονη γραφή (έντονη ετικέτα) και πλάγια γραφή (EM), να εισάγετε συνδέσμους, εισαγωγικά, εικόνες, λίστες με αρίθμηση και κουκκίδες, να επισημάνετε διάφορους κωδικούς και .

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

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

Αλλά αυτό το πρόβλημα επιλύθηκε με επιτυχία χάρη στην υπέροχη προσθήκη Post Editor Buttons WP, με την οποία μπορείτε να προσθέσετε όσα πρόσθετα κουμπιά θέλετε στη γραμμή εργαλείων του προγράμματος επεξεργασίας HTML προγραμματίζοντας τα για συγκεκριμένες ενέργειες.

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

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

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

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

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

Ξεκινώντας Γράφοντας ένα άρθρο στον Επεξεργαστή HTML του WordPress

Έτσι, για να γράψετε ένα νέο άρθρο, θα χρειαστεί να μεταβείτε στον πίνακα διαχείρισης (http://sait.ru/wp-admin/) και να επιλέξετε από το αριστερό μενού (εάν χρησιμοποιείτε τον τυπικό σχεδιασμό του πίνακα διαχείρισης του WP) το " Προσθήκη νέου» στοιχείου στην περιοχή «Αναρτήσεις».

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

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

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

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

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

Γιατί ο τίτλος είναι τόσο σημαντικός για την προώθηση της σελίδας μηχανές αναζήτησης? Ναι, γιατί για αυτούς είναι το κύριο κριτήριο για τον προσδιορισμό της συνάφειας (βαθμός αντιστοιχίας - και άλλες σύνθετες λέξεις) του άρθρου σας με το ένα ή το άλλο ερώτημα αναζήτησης.

Αν και όχι, όχι πραγματικά. Όχι ο τίτλος της ανάρτησης, αλλά ο τίτλος της σελίδας TITLE είναι το πιο σημαντικό κριτήριο για τις μηχανές αναζήτησης κατά τον προσδιορισμό της θέσης για ένα συγκεκριμένο ερώτημα αναζήτησης (δείτε αναλυτικά).

Και τι σχέση έχει τότε ο τίτλος της ανάρτησης στο WP; Και παρά το γεγονός ότι ο σωστός ΤΙΤΛΟΣ θα πρέπει να σχηματιστεί από τον τίτλο του άρθρου συν τον τίτλο ολόκληρου του ιστολογίου, και με αυτή τη σειρά. Παρεμπιπτόντως, μπορείτε να ρυθμίσετε τον σωστό σχηματισμό TITLE στο WordPress. Το πρόσθετο είναι απλά υπέροχο, επιτρέποντάς σας ταυτόχρονα να λύσετε πολλά ζητήματα σχετικά με την εσωτερική βελτιστοποίηση.

Εφιστώ την προσοχή σας στη διαφορά μεταξύ της ετικέτας λογικής επιλογής HTML "STRONG" και μιας άλλης ετικέτας επιλογής με έντονη γραφή "B", καθώς και μεταξύ "EM" και "I". Η πρώτη από αυτές τις ετικέτες ( ΔΥΝΑΤΟ και ΕΜ) δεν πρέπει να χρησιμοποιείται μόνο για να επιστήσει την προσοχή των αναγνωστών σε σημαντικά σημεία του κειμένου.

Οι μηχανές αναζήτησης θα εξετάσουν με μεγαλύτερη βαρύτητα τις λέξεις και τις φράσεις που επισημαίνονται από αυτές τις ετικέτες έμφασης (STRONG και EM) σε σύγκριση με κανονικές, μη επιλεγμένες λέξεις του κειμένου. Ωστόσο, τώρα πρέπει να είστε πολύ προσεκτικοί με αυτό για να μην πάτε πολύ μακριά και όχι.

Επιλογή της βέλτιστης δομής για επικεφαλίδες επιπέδου H1-H6

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

Αυτές οι εσωτερικές επικεφαλίδες, όπως ο ΤΙΤΛΟΣ, θα πρέπει να περιέχουν λέξεις-κλειδιά και φράσεις για τις οποίες θέλετε να κατατάξετε στις μηχανές αναζήτησης. Η αναζήτηση θα τα λάβει υπόψη με μεγαλύτερο βάρος από το συνηθισμένο. Αλλά και πάλι, σε καμία περίπτωση δεν πρέπει να στείλετε spam τα κλειδιά, γιατί για αυτό μπορεί να υποφέρετε σύγχρονες συνθήκεςπροβολή.

Εκτός από τις εσωτερικές διακρίσεις (συνήθως από H2, H3 και μετά) προβλέπουν πρόσθετη ευκαιρίαδομώντας το κείμενο, που βελτιώνει την αντίληψή τους από τους αναγνώστες.
Υπάρχει όμως ένα άλλο θέμα της εσωτερικής βελτιστοποίησης ιστοτόπων που έχει να κάνει με τα επίπεδα επικεφαλίδων (H1 έως H6) που χρησιμοποιούνται στις σελίδες blog WordPress.

Ο κύριος τρόπος για να διανείμετε τα επίπεδα επικεφαλίδων σε μια ιστοσελίδα είναι ότι η επικεφαλίδα ολόκληρου του άρθρου πρέπει να είναι τυλιγμένη σε μια ετικέτα H1 (το πιο υψηλό επίπεδο) Και θα πρέπει να είναι ένα ανά σελίδα, αλλά όλες οι εσωτερικές επικεφαλίδες του κειμένου πρέπει να ξεκινούν με Η2.

Παρεμπιπτόντως, θέλω να σας συμβουλέψω έναν πολύ βολικό τρόπο για να δείτε οπτικά στο WordPress πού και σε ποιο επίπεδο χρησιμοποιούνται οι επικεφαλίδες σε έναν συγκεκριμένο ιστότοπο. Αυτό είναι ένα πρόσθετο για το FireFox() που ονομάζεται .

Έτσι, εάν επιλέξετε από το μενού αυτού του πρόσθετου (το μενού του προστίθεται στην κορυφή του προγράμματος περιήγησης) τα στοιχεία "Περιγράμματα" - "Περιγράμματα επικεφαλίδων", τότε όλα βρίσκονται στο ανοιχτό στο αυτή τη στιγμήστο πρόγραμμα περιήγησης, οι ιστοσελίδες θα κυκλώνονται με πολύχρωμα ορθογώνια, δίπλα στα οποία θα υπογράφεται το επίπεδό τους H1 -H6.

Όπως μπορείτε να δείτε από το παραπάνω σχήμα, έθεσα τον τίτλο του άρθρου όχι σε H1, αλλά σε H2, ενώ το H1 χρησιμοποιείται για να περικλείει την περιγραφή ολόκληρου του έργου σε αυτό, δηλ. όχι σε κάποιο συγκεκριμένο άρθρο, αλλά σε ολόκληρο το blog.

Αυτός ο Maul ανέφερε σε ένα από τα άρθρα του ότι η επικεφαλίδα επιπέδου H1 θα πρέπει να είναι η ίδια για όλες τις ιστοσελίδες στον ιστότοπο, αλλά δεν υποστήριξε πραγματικά την ιδέα του. Ωστόσο, χρησιμοποιώ ακριβώς το σχήμα του. Για εσωτερικούς υποτίτλους χρησιμοποιώ ετικέτες H3 και H4 (μερικές φορές H5).

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

Τώρα πρέπει ακόμα να μιλήσουμε λίγο για το πώς μπορείτε να αλλάξετε τις ετικέτες επικεφαλίδων HTML στο WordPress, για παράδειγμα, για άρθρα, ή να προσθέσετε, όπως έκανα εγώ, ένα κοινό επίπεδο H1 για όλους.

Για να το κάνετε αυτό, θα χρειαστεί να συνδεθείτε στον διακομιστή φιλοξενίας όπου βρίσκεται το ιστολόγιό σας χρησιμοποιώντας το πρωτόκολλο FTP, για παράδειγμα, . Όλα τα αρχεία που μπορεί να χρειαστούμε βρίσκονται στο φάκελο με το θέμα WordPress (πρότυπο) που χρησιμοποιείτε, το οποίο μπορείτε να βρείτε σε αυτήν τη διαδρομή:

/wp-content/themes/Όνομα θέματος/

Για να κατανοήσετε καλύτερα τη δομή και τον σκοπό των αρχείων (προτύπων) του θέματος WordPress, σας συμβουλεύω να διαβάσετε το άρθρο στην αρχή αυτής της δημοσίευσης (στη λίστα).

Ας δούμε πού μπορείτε να αλλάξετε το επίπεδο των κύριων τίτλων των άρθρων που βρίσκονται στην κύρια σελίδα (αυτή είναι υπεύθυνη για την εμφάνισή της). αρχείο INDEX) και σε σελίδες με πλήρεις εκδόσεις άρθρων (ΜΟΝΟ αρχείο).

Ας ανοίξουμε πρώτα το INDEX για επεξεργασία. Έχω μέσα τους τίτλους των άρθρων του WordPress που περικλείονται στην ετικέτα HTML H2 (δεύτερο επίπεδο) και εκτός αυτού είναι σύνδεσμοι, επειδή περικλείονται στην ετικέτα συνδέσμου Α:

" rel="bookmark" title="Μόνιμος σύνδεσμος!}">

Στις δημοσιεύσεις (το αρχείο SINGLE είναι υπεύθυνο για την εμφάνισή τους), οι κύριες επικεφαλίδες δεν θα είναι πλέον σύνδεσμοι, αν και έχουν επίσης το επίπεδο H2:

Εάν δεν είστε ικανοποιημένοι με το δεύτερο επίπεδο, τότε απλώς αλλάξτε τις ετικέτες H2 σε αυτά τα αρχεία (INDEX και SINGLE) σε ετικέτες H1 και αποθηκεύστε τις αλλαγές που έγιναν (αν και αυτό δεν μπορεί να γίνει για το κύριο, επειδή θα υπάρχουν περισσότερες από μία H1 στη σελίδα, που δεν είναι καλό).

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

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

Σημειώστε ότι τα κουμπιά με την ένδειξη "b" και "i" χρησιμεύουν στην πραγματικότητα για την εισαγωγή των ετικετών STRONG και EM.

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

Καλή σου τύχη! Τα λέμε σύντομα στον ιστότοπο των σελίδων του ιστολογίου

Μπορεί να σας ενδιαφέρει

Λείπει το αριστερό μενού στον διαχειριστή του WordPress μετά την ενημέρωση Κενή σελίδα κατά την προβολή μεγάλων αναρτήσεων (άρθων) στο WordPress Πού να κατεβάσετε το WordPress - μόνο από τον επίσημο ιστότοπο wordpress.org Πώς να προσθέσετε αυτόματα ένα χαρακτηριστικό Alt στις ετικέτες Img του ιστολογίου σας WordPress (όπου δεν υπάρχουν) Πώς να απενεργοποιήσετε τα σχόλια στο WordPress για μεμονωμένα άρθρα ή ολόκληρο το ιστολόγιο, καθώς και να τα αφαιρέσετε ή αντίστροφα να τα συμπεριλάβετε στο πρότυπο Πώς να δημιουργήσετε μια λίστα στατικών σελίδων στο WordPress χρησιμοποιώντας wp_list_pages (Βελτίωση κερδών σε αιώνιους συνδέσμους και άρθρα)
Αναλυτική εγκατάσταση του WordPress και εικόνων, σύνδεση στον πίνακα διαχείρισης του WP και αλλαγή κωδικού πρόσβασης Emoticons στο WordPress - ποιοι κωδικοί emoticon να εισαγάγετε, καθώς και το πρόσθετο Qip Smiles (όμορφα emoticon για σχόλια)
Μείωση της κατανάλωσης μνήμης στο WordPress κατά τη δημιουργία σελίδων - Πρόσθετο WPLANG Lite για αντικατάσταση του αρχείου τοπικής προσαρμογής
Πώς να εισέλθετε στον πίνακα διαχείρισης του WordPress, καθώς και να αλλάξετε τη σύνδεση διαχειριστή και τον κωδικό πρόσβασης που σας δόθηκε κατά την εγκατάσταση του κινητήρα
Ρυθμίσεις ιστολογίου WordPress που πρέπει να κάνετε αμέσως μετά την εγκατάστασή του

Τολμώ να υποθέσω ότι στη ζωή σας υπήρξαν περιπτώσεις που θέλατε να προσθέσετε (διορθώσετε) κάτι στο θέμα του ιστότοπου WP σας, ή στη λειτουργικότητα κάποιου πρόσθετου. Επιπλέον, οι προγραμματιστές δεν συμπεριέλαβαν αυτή τη δυνατότητα στα τυπικά στοιχεία ελέγχου. Και η ψυχή σας δεν αναγνωρίζει κανέναν περιορισμό και απαιτεί μια φανταχτερή πτήση 🙂 Όπως καταλαβαίνετε, υπάρχει διέξοδος από κάθε κατάσταση, σε αυτήν την περίπτωση, θα πρέπει να διορθώσουμε τον κώδικα του plugin, του θέματος...

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

Ως αποτέλεσμα, είναι προτιμότερο να χρησιμοποιείτε μεθόδους που θα σταθούν στον δυναμικά μεταβαλλόμενο κόσμο μας και ταυτόχρονα θα εξοικονομήσετε τον πολύτιμο χρόνο σας.

Προειδοποιήσεις!

Στο Διαδίκτυο, μπορείτε συχνά να βρείτε συμβουλές που προτείνουν να κάνετε αλλαγές στο αρχείο. λειτουργίες.php- εάν υπάρχει οποιαδήποτε δυνατότητα να το κάνετε χωρίς αυτό - είναι καλύτερα να μην αγγίξετε αυτό το αρχείο. Στις παρακάτω μεθόδους, θα δείτε πώς να το εφαρμόσετε. Και σε κάθε περίπτωση, πρέπει να δημιουργήσετε ένα θυγατρικό θέμα και να αφήσετε το γονικό θέμα ανέπαφο.

Κατά την τοποθέτηση του προθέματος μιας συνάρτησης, να χρησιμοποιείτε πάντα προσαρμοσμένο κώδικα με τη μορφή: _πρόθεμα(στο όνομα της αλλαγμένης συνάρτησης). Αυτή η ενέργεια θα σας εξοικονομήσει από διενέξεις με άλλες λειτουργίες του θέματος ή της προσθήκης.

Πώς λοιπόν προσθέτετε κώδικα σε έναν ιστότοπο WP;

1) Προσαρμοσμένο πρόσθετο

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

Για να το κάνετε αυτό είναι απλό: πρώτα πρέπει να δημιουργήσετε έναν κατάλογο για το πρόσθετό σας και να το ονομάσετε κατάλληλα, για παράδειγμα moy-plugin (χρησιμοποιήστε μόνο μια παύλα, όχι μια τελική κάθετο)

Στη συνέχεια, δημιουργούμε το κύριο αρχείο προσθήκης. Όπως καταλαβαίνετε, θα πρέπει να περιλαμβάνει το όνομα, την περιγραφή και τις βασικές πληροφορίες, καθώς και κώδικα που θα βοηθήσει στην προστασία του πρόσθετου από εισβολείς. Και ονομάζουμε αυτό το αρχείο, ας πούμε my-plugin.php. Η επέκταση .php θα πει στο WP σε ποια γλώσσα βρίσκεται το συγκεκριμένο αρχείο.

Μπορείτε να δημιουργήσετε ένα αρχείο με τον τρόπο που περιγράφεται παραπάνω σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου, για παράδειγμα, στο NotePad, το οποίο είναι ήδη προσεκτικά εγκατεστημένο στο λειτουργικό σύστημα Windows (TextEdit σε Mac). Είναι καλύτερα να μην χρησιμοποιείτε το πρόγραμμα επεξεργασίας Microsoft Word, καθώς μορφοποιεί το κείμενο και δεν το χρειαζόμαστε απολύτως σε αυτήν την περίπτωση.

Ορίστε λοιπόν ο κώδικας για προσθήκη:

Και κάτω από αυτόν τον κωδικό, κάντε τις αλλαγές σας, που απαιτεί η δημιουργική σας ψυχή. Δεν χρειάζεται να προσθέσετε ετικέτες κλεισίματος PHP στο τέλος. Σε αυτήν την περίπτωση, ο τίτλος, η περιγραφή και η διεύθυνση URL θα εμφανιστούν στον πίνακα διαχείρισης. Και, φυσικά, μπορείτε να αντικαταστήσετε τις πληροφορίες "ClubWP" με τις δικές σας πληροφορίες.

Μετά από αυτό, μένει μόνο να συσκευάσετε το δημιουργημένο σε ένα αρχείο zip και να το στείλετε στο ftp του ιστότοπού σας. Στο μέλλον, με αυτόν τον τρόπο θα μπορείτε να κάνετε οποιεσδήποτε αλλαγές στο πρόσθετό σας.

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

2) Πρόσθετο Code Snippets

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

Μετά την εγκατάσταση της προσθήκης, θα εμφανιστεί ένα νέο παράθυρο "Αποσπάσματα" στον πίνακα διαχείρισης, στο οποίο, κατά συνέπεια, μπορείτε να προσθέσετε νέα αποσπάσματα. Για το οποίο μπορείτε να εισαγάγετε τον κωδικό και πληροφορίες σχετικά με τον σκοπό του.

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

3) Επεξεργασία του Functions.php του θυγατρικού θέματος

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

Για να χρησιμοποιήσω αυτήν τη μέθοδο, προσφέρω το πρότυπό μου λειτουργίες.phpπαιδικό θέμα. Αποσυμπιέστε και επεξεργαστείτε το αρχείο στυλ.css(όνομα προτύπου και εισαγωγή URL)

ΥΣΤΕΡΟΓΡΑΦΟ.Προσπαθήστε να κάνετε ό,τι καλύτερο μπορείτε για να κάνετε τη ζωή σας πιο εύκολη στο μέλλον, όσον αφορά το δύσκολο κομμάτι της διόρθωσης σφαλμάτων και της επεξεργασίας προσαρμοσμένου κώδικα όπως απαιτείται.

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

1. Σχόλια και Τεκμηρίωση

Τα IDE γίνονται όλο και πιο δημοφιλή στον κόσμο των προγραμματιστών παρέχουν εύχρηστα εργαλεία για σχολιασμό και τεκμηρίωση κώδικα.

Εδώ είναι ένα παράδειγμα:

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

Σε αυτό το παράδειγμα, το στυλ σχολιασμού βασίζεται στο PHPDoc και το IDE που χρησιμοποιώ είναι το Aptana.

2. Εσοχή

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

Συνάρτηση foo() ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Συνάρτηση foo() ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Συνάρτηση foo() ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Προσωπικά, χρησιμοποιώ πιο συχνά τον αριθμό στυλ #2, αλλά μερικές φορές πηγαίνω στο #1. Αλλά όλα είναι θέμα γούστου, φυσικά. Πιθανότατα δεν υπάρχει «καλύτερο» στυλ που να ταιριάζει σε όλους. Αυτοί οι κανόνες, πρώτα απ 'όλα, πρέπει να τηρούνται από όσους εργάζονται σε ομάδα ή συμμετέχουν στη συγγραφή έργων ανοιχτού κώδικα.

Υπάρχουν επίσης στυλ που συνδυάζουν ορισμένα χαρακτηριστικά. Για παράδειγμα, τα πρότυπα κωδικοποίησης PEAR, όπου το σγουρό στήριγμα "(" παραμένει στην ίδια γραμμή σε δηλώσεις υπό όρους, αλλά είναι τυλιγμένο σε συναρτήσεις.

Στυλ αχλάδι:

Συνάρτηση foo() ( // σε μια νέα γραμμή εάν ($maybe) ( // στην ίδια γραμμή do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

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

Μπορείτε να μάθετε περισσότερα για διαφορετικά στυλ.

3. Αποφύγετε τα περιττά σχόλια

Ναι, ο σχολιασμός κώδικα είναι καλός. ωστόσο, δεν χρειάζεται να το παρακάνετε. Εδώ είναι ένα παράδειγμα:

// λήψη κωδικού χώρας $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); // εάν η χώρα είναι ΗΠΑ if ($country_code == "ΗΠΑ") ( // εμφάνιση της φόρμας echo form_input_state(); )

Εάν το έργο του κώδικα είναι προφανές, τότε πιθανότατα δεν πρέπει να γράψετε περιττά σχόλια.

Εάν δεν είναι ήδη διαθέσιμα, τότε μπορείτε να τα συντομεύσετε λίγο:

// εμφανίστε τη φόρμα εάν η χώρα είναι US $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); if ($country_code == "ΗΠΑ") ( echo form_input_state(); )

4. Ομαδοποίηση κωδικών

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

Εδώ είναι ένα απλό παράδειγμα:

// λήψη λίστας φόρουμ $forums = array(); $r = mysql_query("SELECT id, name, description FROM forums"); ενώ ($d = mysql_fetch_assoc($r)) ( $forums = $d; ) // φόρτωση προτύπου load_template("κεφαλίδα"); load_template("forum_list",$forums); load_template("υποσέλιδο");

Εάν προσθέσετε ένα σχόλιο πριν από την αρχή κάθε μπλοκ, θα βελτιώσει περαιτέρω την αναγνωσιμότητα του κώδικά σας.

5. Σχήμα ονοματοδοσίας

Μερικές φορές ακόμη και στη γλώσσα PHP μπορείτε να βρείτε ασυνέπειες στην ονομασία των συναρτήσεων. Και εδώ είναι πολλά παραδείγματα:

  • strpos() vs str_split()
  • imagetypes() vs image_type_to_extension()

Υπάρχουν πολλά δημοφιλή στυλ:

  • camelCase: Το πρώτο γράμμα κάθε νέας λέξης γράφεται με κεφαλαία.
  • υπογράμμιση: Υπογράμμιση μεταξύ λέξεων: mysql_real_escape_string().

Εάν συνδυάσετε αυτές τις τεχνικές, τότε αργά ή γρήγορα μπορείτε να έρθετε σε μια δύσκολη κατάσταση. Εάν εργάζεστε σε ένα έργο που χρησιμοποιεί μία από αυτές τις τεχνικές, τότε θα πρέπει να ακολουθήσετε το παράδειγμά σας. Μπορεί ακόμα να εξαρτάται από τη γλώσσα προγραμματισμού. Για παράδειγμα, οι περισσότεροι προγραμματιστές Java χρησιμοποιούν το camelCase ενώ οι προγραμματιστές PHP προτιμούν τις υπογραμμίσεις.

Αλλά και εδώ δεν ήταν χωρίς υβρίδιο. Ορισμένοι προγραμματιστές χρησιμοποιούν υπογράμμιση για την ονομασία κλάσεων και μεθόδων (εκτός κλάσεων) και σε άλλες περιπτώσεις χρησιμοποιούν το camelCase:

Κλάση Foo_Bar ( δημόσια συνάρτηση someDummyMethod() ( ) ) συνάρτηση procedural_function_name() ( )

Για άλλη μια φορά θα πω ότι δεν υπάρχει καλύτερο στυλ. Απλά πρέπει να επιμείνεις σε κάτι.

6. Αρχή DRY

DRY (Μην επαναλαμβάνεστε) Γνωστό και ως DIE: Η αντιγραφή είναι κακό.

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

Για παράδειγμα, οι περισσότερες εφαρμογές Ιστού αποτελούνται από μία ή περισσότερες σελίδες. Είναι σαφές ότι αυτές οι σελίδες θα περιέχουν τα ίδια στοιχεία. Κεφαλίδα, υποσέλιδο - τα πιο εντυπωσιακά παραδείγματα. Θα εκπλαγείτε πόσοι άνθρωποι εξακολουθούν να αντιγράφουν αυτά τα στοιχεία σε κάθε σελίδα.

$this->load->view("includes/header"); $this->load->view($main_content); $this->load->view("includes/footer");

7. Αποφύγετε το Deep Nesting

Η αναγνωσιμότητα του κώδικα μειώνεται δραστικά εάν έχετε βαθιά ένθεση.

Συνάρτηση do_stuff() ( // ... if (is_writable($folder)) ( if ($fp = fopen($file_path,"w")) ( if ($stuff = get_some_stuff()) ( if (fwrite($ fp,$stuff)) ( // ... ) else ( return false; ) ) else ( return false; ) ) else ( return false; ) ) else ( return false; ) )

Για να διορθώσετε την κατάσταση, θα πρέπει να επανεξετάσετε τον τρόπο λειτουργίας του κώδικά σας και να τον βελτιστοποιήσετε:

Συνάρτηση do_stuff() ( // ... if (!is_writable($folder)) ( return false; ) if (!$fp = fopen($file_path,"w")) ( return false; ) if (!$stuff = get_some_stuff()) ( return false; ) if (fwrite($fp,$stuff)) ( // ... ) else ( return false; ) )

8. Όριο μήκους γραμμής

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

Μια παρόμοια τεχνική μπορεί να εφαρμοστεί στον κώδικά μας:

// κακό $my_email->set_from(" [email προστατευμένο]")->add_to(" [email προστατευμένο]")->set_subject("Methods Chained")->set_body("Some long message")->send(); // ok $my_email ->set_from(" [email προστατευμένο]") ->add_to(" [email προστατευμένο]") ->set_subject("Methods Chained") ->set_body("Some long message") ->send(); // bad $query = "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING (users.id, user_posts.user_id) WHERE post_id = "123""; // κακή $query = "SELECT id, όνομα χρήστη, όνομα, επώνυμο, κατάσταση ΑΠΟ ΑΡΙΣΤΕΡΑ ΕΓΓΡΑΦΗ χρηστών user_posts USING(users.id, user_posts.user_id) WHERE post_id = "123"";

Οι περισσότεροι προγραμματιστές τηρούν το όριο των 80 και 120 χαρακτήρων.

9. Οργάνωση αρχείων και φακέλων

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

Θυμάμαι τα πρώτα μου έργα όπου επισύναψα αρχεία. Ωστόσο, η οργάνωσή μου ήταν πολύ κουτσαίνοντας. Δημιούργησα έναν φάκελο "inc" στον οποίο τοποθέτησα πολλά αρχεία: db.php και functions.php. Στη διαδικασία συγγραφής της αίτησης, αυτός ο φάκελος ήταν φουσκωμένος και φουσκωμένος και στο τέλος ήταν δύσκολο να καταλάβουμε τι ήταν που.

Για να λύσετε αυτό το πρόβλημα, είναι καλύτερο να χρησιμοποιήσετε διάφορα είδη πλαισίων ή τουλάχιστον να τηρήσετε τη δομή τους. Έτσι φαίνεται το έργο στο CodeIgniter:

10. Ονόματα μεταβλητών

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

Ας δούμε μερικά παραδείγματα:

// $i για βρόχους για ($i = 0; $i< 100; $i++) { // $j для вложенных циклов for ($j = 0; $j < 100; $j++) { } } // $ret для возвращаемых переменных function foo() { $ret["bar"] = get_bar(); $ret["stuff"] = get_stuff(); return $ret; } // $k и $v для foreach foreach ($some_array as $k =>$v) ( ) // $q, $r και $d για mysql $q = "SELECT * FROM πίνακα"; $r = mysql_query($q); ενώ ($d = mysql_fetch_assocr($r)) ( ) // $fp για εργασία με αρχεία $fp = fopen("file.txt","w");

11 - Γράψτε λέξεις-κλειδιά σε SQL με κεφαλαία γράμματα

Οι περισσότερες διαδικτυακές εφαρμογές αλληλεπιδρούν με βάσεις δεδομένων. Εάν γράφετε μόνοι σας ερωτήματα SQL, τότε πρέπει επίσης να μορφοποιηθούν ανάλογα... Δεν υπάρχει τίποτα περίπλοκο εδώ. Απλώς γράψτε τις λέξεις-κλειδιά με κεφαλαία γράμματα.

12. Ξεχωρίστε τον κωδικό και τα δεδομένα

Αυτή είναι μια άλλη αρχή που θα σας βοηθήσει να γράψετε καθαρότερα προγράμματα. Βρίσκεται στο γεγονός ότι προετοιμάζετε δεδομένα σε ένα μέρος (ας πούμε μοντέλα) και αλληλεπιδράτε με αυτά σε ένα άλλο.

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

Μπορείτε να φτιάξετε μόνοι σας κάποιο ιδιαίτερο στυλ ή μπορείτε να χρησιμοποιήσετε τα πιο δημοφιλή μέσα μέχρι σήμερα.

Δημοφιλή πλαίσια PHP:

Συστήματα προτύπων:

Δημοφιλές CMS

13. Ειδική σύνταξη για πρότυπα

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

Και εδώ είναι ένα παράδειγμα:

Γειά σου, όνομα χρήστη; ?>
|

Ο πίνακας μηνυμάτων μου

τίτλος; ?>

Φόρουμ ως $forum): ?>

id, $forum->title) ?> (threads->count(); ?> νήματα)

περιγραφή; ?>

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

14. Διαδικαστικές και αντικειμενοστρεφείς προσεγγίσεις

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

Τα αντικείμενα είναι εξαιρετικά για την αναπαράσταση δεδομένων. Παράδειγμα:

Χρήστης κλάσης ( δημόσιο $username; δημόσιο $first_name; δημόσιο $last_name; δημόσιο $email; δημόσια συνάρτηση __construct() ( // ... ) δημόσια συνάρτηση create() ( // ... ) δημόσια συνάρτηση αποθήκευση() ( / / ... ) δημόσια συνάρτηση delete() ( // ... ) )

Οι διαδικαστικές μέθοδοι έχουν τα δικά τους συγκεκριμένα οφέλη.

Συνάρτηση κεφαλαίο ($string) ( $ret = strtoupper($string); $ret .= strtolower(substr($string,1)); επιστροφή $ret; )

15. Διαβάστε τον Ανοιχτό Κώδικα

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

16. Refactoring

Το Refactoring αλλάζει κώδικα χωρίς απώλεια λειτουργικότητας. Μπορεί επίσης να χρησιμοποιηθεί για τη βελτίωση της αναγνωσιμότητας. Δεν υπάρχει χώρος για διόρθωση σφαλμάτων ή προσθήκη λειτουργικότητας. Απλώς αλλάζεις λίγο τη δομή του κώδικά σου.

Ελπίζω αυτό το άρθρο να σας βοήθησε! Μου διαφεύγει κάτι; Μοιραστείτε την εμπειρία σας!

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

Πας στην «αποθήκη» των plugins για wordpress και διαπιστώνεις ότι το plugin που χρειάζεσαι δεν υπάρχει. Τι να κάνω? Πώς να είσαι; Εάν είστε τουλάχιστον λίγο εξοικειωμένοι με τα βασικά του προγραμματισμού σε php, layout, τότε δεν θα σας είναι δύσκολο Γράψτε το δικό σας πρόσθετο για WordPress.

Και τώρα πάμε στην «κουζίνα» για να ετοιμάσουμε το πρόσθετό μας.

ΥΣΤΕΡΟΓΡΑΦΟ. Αν δεν έχετε γνώσεις σε php και layout… μην στεναχωριέστε, ζητήστε από κάποιον να σας γράψει την απαραίτητη λειτουργικότητα 🙂

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

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

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

Το πρώτο πράγμα που θα κάνουμε είναι να βρούμε ένα μοναδικό όνομα για την προσθήκη μας - " AdvUserReviews«.

Στη συνέχεια, ας δημιουργήσουμε έναν νέο κατάλογο που ονομάζεται "advuserreviews" στον κατάλογο "/wp-content/plugins/" του ιστότοπού σας. Και σε αυτό θα δημιουργήσουμε το αρχείο "advuserreviews.php". Αυτό θα είναι το κύριο αρχείο που θα είναι υπεύθυνο για τη γενική προετοιμασία. (Κατά προτίμηση χρησιμοποιήστε κωδικοποίηση UTF-8 για αρχεία).

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

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

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

// Διακοπή άμεσης κλήσης if(preg_match("#" . basename(__FILE__) . "#", $_SERVER["PHP_SELF"])) (die("Δεν επιτρέπεται να καλέσετε απευθείας αυτήν τη σελίδα."); ) εάν (!class_exists("AdvUserReviews")) ( class AdvUserReviews ( // Αποθήκευση εσωτερικών δεδομένων δημόσια $data = array(); // Κατασκευαστής αντικειμένου // Εκκίνηση της συνάρτησης κύριων μεταβλητών AdvUserReviews() ( ) ) ) καθολική $rprice; $rprice = new AdvUserReviews();

Τώρα προσθέστε τον ακόλουθο κώδικα στον κατασκευαστή αντικειμένων:

Λειτουργία AdvUserReviews() ( καθολική $wpdb; // Δηλώστε σταθερή την προετοιμασία της προσθήκης DEFINE("AdvUserReviews", true); // Όνομα του αρχείου προσθήκης $this->plugin_name = plugin_basename(__FILE__); // URL για την προσθήκη μας $ this->plugin_url = trailingslashit(WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))); // Πίνακας για την αποθήκευση των κριτικών μας // η μεταβλητή $wpdb πρέπει να δηλωθεί καθολικά $this->tbl_adv_reviews = $wpdb-> "adv_reviews"; // Λειτουργία που εκτελείται όταν η προσθήκη είναι ενεργοποιημένη register_activation_hook($this->plugin_name, array(&$this, "activate")); // Λειτουργία που εκτελείται όταν η προσθήκη απενεργοποιηθεί register_deactivation_hook($this ->όνομα_προσθήκης, πίνακας (&$this, "απενεργοποίηση")); // Λειτουργία που εκτελείται όταν απεγκατασταθεί η προσθήκη register_uninstall_hook($this->όνομα_προσθήκης, πίνακας(&$this, "uninstall")); )

Στον κατασκευαστή αντικειμένων, χρησιμοποιούμε 3 "hooks" ή "hooks" (τι είναι;): register_activation_hook, register_deactivation_hookΚαι register_uninstall_hook- αυτές είναι οι λειτουργίες που εκτελούνται όταν το πρόσθετο ενεργοποιείται, απενεργοποιείται και αφαιρείται, αντίστοιχα.

Τώρα ας εφαρμόσουμε αυτές τις λειτουργίες απευθείας.

/** * Ενεργοποίηση προσθήκης */ function activate() ( καθολική $wpdb; require_once(ABSPATH . "wp-admin/upgrade-functions.php"); $table = $this->tbl_adv_reviews; // Προσδιορισμός της έκδοσης mysql εάν ( version_compare(mysql_get_server_info(), "4.1.0", ">=")) ( if (! white($wpdb->charset)) $charset_collate = "ΠΡΟΕΠΙΛΟΓΙΚΟ ΣΕΤ ΧΑΡΑΚΤΗΡΩΝ $wpdb->σύνολο χαρακτήρων"; if (! κενό( $wpdb->collate)) $charset_collate .= " COLLATE $wpdb->collate"; ) // Δομή του πίνακα αξιολόγησης $sql_table_adv_reviews = " ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ `".$wpdb->πρόθεμα."adv_reviews` (`ID` INT(10) ΜΗ ΥΠΟΓΡΑΦΗ NULL AUTO_INCREMENT, `review_title` VARCHAR(255) NOT NULL DEFAULT "0", "review_text" TEXT NOT NULL, `review_date` TIMESTAMP NOT NULL DEFAULT `CURRENT_Review, CHARENT_ARreviewer VARCHAR(200) NULL, PRIMARY KEY (`ID`))".$charset_collate.";"; // Ελέγξτε εάν ο πίνακας υπάρχει εάν ($wpdb->get_var("εμφάνιση πινάκων όπως "".$table."" " ) != $table) ( dbDelta($sql_table_adv_reviews); ) ) /** * Deact επίκληση plugin */ function deactivate() ( return true; ) /** * Καταργήστε την προσθήκη */ function uninstall() ( καθολική $wpdb; $wpdb->query("DROP TABLE IF EXISTS ($wpdb->πρόθεμα)adv_reviews"); )

Μεταβλητός $wpdbείναι υπεύθυνος για τα ερωτήματα στη βάση δεδομένων. Λειτουργία dbDeltaαναλύει την τρέχουσα δομή πίνακα, τη συγκρίνει με την επιθυμητή δομή πίνακα και είτε προσθέτει είτε τροποποιεί τον πίνακα όπως απαιτείται.

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

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

// Αν είμαστε στο admin. διεπαφή if (is_admin()) ( // Προσθήκη στυλ και σεναρίων add_action("wp_print_scripts", array(&$this, "admin_load_scripts")); add_action("wp_print_styles", array(&$this, "admin_load_styles")); // Προσθήκη μενού για την προσθήκη add_action("admin_menu", array(&$this, "admin_generate_menu")); ) else ( // Προσθήκη στυλ και σεναρίων add_action("wp_print_scripts", array(&$this, "site_load_scripts" )) ; add_action("wp_print_styles", array(&$this, "site_load_styles")); add_shortcode("show_reviews", array (&$this, "site_show_reviews")); )

Ας ρίξουμε μια πιο προσεκτική ματιά σε αυτό το τμήμα κώδικα. Ας ξεκινήσουμε με τον πίνακα διαχείρισης.
Λειτουργία " is_admin» ελέγχει σε ποια λειτουργία εργαζόμαστε αυτήν τη στιγμή - στον ιστότοπο ή στον πίνακα ελέγχου.
Στη συνέχεια, χρησιμοποιούνται πολλά άγκιστρα, για λειτουργίες:

  • wp_print_scripts- Προσθήκη απαιτούμενων αρχείων javascript
  • wp_print_styles- Προσθέστε τα απαραίτητα στυλ
  • admin_menu- Προσθέστε ένα νέο μενού στον πίνακα ελέγχου

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

/** * Φορτώστε τα απαραίτητα σενάρια για τη σελίδα διαχείρισης * στον πίνακα διαχείρισης */ συνάρτηση admin_load_scripts() ( // Εγγραφή σεναρίων wp_register_script("advReviewsAdminJs", $this->plugin_url . "js/admin-scripts.js") ; wp_register_script( "jquery", $this->plugin_url . "js/jquery-1.4.2.min.js"); // Προσθήκη σεναρίων στη σελίδα wp_enqueue_script("advReviewsAdminJs"); wp_enqueue_script("jquery");) /** * Φόρτωση των απαιτούμενων στυλ για τη σελίδα διαχειριστή * στον πίνακα διαχείρισης */ function admin_load_styles() ( // Καταχώρηση στυλ wp_register_style("advReviewsAdminCss", $this->plugin_url . "css/admin-style.css") ; // Προσθήκη στυλ wp_enqueue_style( "advReviewsAdminCss"); )

Εδώ χρησιμοποιούνται οι ακόλουθες λειτουργίες.

Κάθε ενέργεια εξαρτάται από την παράμετρο "ενέργεια" που έχει περάσει, αντίστοιχα "επεξεργασία" - επεξεργασία της κριτικής, "υποβολή" - αποθήκευση της επεξεργασμένης κριτικής και "διαγραφή" - διαγραφή της κριτικής.

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

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

Για να πούμε στο wordpress πότε να καλέσουμε το πρόσθετό μας, πρέπει να καταχωρήσουμε έναν "σύντομο κώδικα", ο οποίος έγινε στον κατασκευαστή της τάξης μας. Περισσότερα για αυτό.

Add_shortcode("show_reviews", array (&$this, "site_show_reviews"));

Τώρα, σε οποιαδήποτε σελίδα του ιστότοπου, μπορείτε να τοποθετήσετε αυτόν τον κώδικα και θα αναγκάσει τη συνάρτηση που καθορίσαμε (περάσαμε ως δεύτερη παράμετρο) να εκτελέσει. Παρακάτω είναι ο πηγαίος κώδικας για αυτήν τη λειτουργία.

/** * Λίστα κριτικών ιστότοπου */ δημόσια λειτουργία site_show_reviews($atts, $content=null) ( καθολική $wpdb; if (isset($_POST["action"]) && $_POST["action"] == " add-review") ( $this->add_user_review(); ) // Επιλέξτε όλες τις αξιολογήσεις από τη βάση δεδομένων $this->data["reviews"] = $wpdb->get_results("SELECT * FROM `" . $this- >tbl_adv_reviews . "`", ARRAY_A); ## Ενεργοποίηση buffering εξόδου ob_start (); include_once("site_reviews.php"); ## Λήψη δεδομένων $output = ob_get_contents (); ## Απενεργοποίηση προσωρινής αποθήκευσης ob_end_clean (); επιστροφή $output ; ) ιδιωτική συνάρτηση add_user_review() ( καθολική $wpdb; $inputData = array("review_title" => strip_tags($_POST["review_title"]), "review_text" => strip_tags($_POST["review_text"]) , " review_user_name" => strip_tags($_POST["review_user_name"]), "review_user_email" => strip_tags($_POST["review_user_email"]),); // Προσθήκη νέας κριτικής στον ιστότοπο $wpdb->insert( $this-> tbl_adv_reviews, $inputData); )

Κατ 'αρχήν, δεν υπάρχει τίποτα περίπλοκο εδώ - γίνεται ένα ερώτημα SQL για την επιλογή δεδομένων, αλλά εάν περάσει η παράμετρος "ενέργεια", τότε προστίθεται πρώτα μια νέα αναθεώρηση. Αλλά θα πρέπει να δώσετε προσοχή στην προσωρινή αποθήκευση εξόδου. Είναι απαραίτητο για να λάβετε τα δεδομένα της εισαγόμενης σελίδας.

Αυτό είναι στην πραγματικότητα όλο. Τώρα μπορείτε να δείτε τι έχουμε. ΕΝΑ λήψη plugin και πηγαίου κώδικαμπορείτε εδώ.

Φυσικά, αυτό είναι απλώς ένα παράδειγμα δημιουργίας μιας προσθήκης, αλλά θα λειτουργήσει και ως απλό δωμάτιο επισκεπτών εάν τροποποιηθεί ελαφρώς, για παράδειγμα, προσθέτοντας προστασία από bots και σελιδοποίηση. Καλή κωδικοποίηση :)

Φόρμα ιστότοπου:

Πίνακας ελέγχου προσθήκης:

Έλεγχος επεξεργασίας:

Μπορεί επίσης να σας ενδιαφέρει:


Γεια σας αγαπητοί αναγνώστες a! Έχω ήδη αναφέρει τη σημασία της ύπαρξης μιας καλής συλλογής χρήσιμων αποσπασμάτων κώδικα (ένθετα) στη διάθεσή σας. Ωστόσο, θεωρήθηκαν. Η σημερινή ανάρτηση θα είναι αφιερωμένη σε αποσπάσματα κώδικα που μπορούν να χρησιμοποιηθούν για την επέκταση ή τη βελτίωση της εργασίας του ιστότοπου στο . Η συλλογή αποτελείται από 10 αποσπάσματα κώδικα. Ξεκινώντας:

Σελιδοποίηση χωρίς πρόσθετο

Δυναμικό κείμενο πνευματικών δικαιωμάτων

Αυτό το απόσπασμα σάς επιτρέπει να δημιουργήσετε απλό κείμενο πνευματικών δικαιωμάτων στο υποσέλιδο. Η ημερομηνία ρυθμίζεται αυτόματα, η λειτουργία χρησιμοποιείται η ημερομηνία().
Απλώς αντιγράψτε το απόσπασμα στο δικό σας υποσέλιδο.php:

< b>(ντο)
| < a href= "" >
|

Πληροφορίες χρήστη

Το WordPress επιτρέπει στους χρήστες να προσθέτουν πληροφορίες για τον εαυτό τους στο προφίλ τους στο WP Admin. Για να εμφανίσετε πληροφορίες χρήστη, μπορείτε να χρησιμοποιήσετε αυτό το απόσπασμα:

Για να λειτουργήσει το κουμπί, πρέπει να συνδεθείτε στο , προσθέστε την ακόλουθη γραμμή στο αρχείο header.php:

< script type= "text/javascript" src= "https://apis.google.com/js/plusone.js">

Κώδικας PHP σε κείμενο

Μερικές φορές, όταν γράφετε ένα άρθρο, χρειάζεται να εισάγετε κώδικα, αλλά αν απλώς τον εισάγετε, τότε δεν θα εμφανίζεται. Για να αποφευχθεί αυτό, χρησιμοποιούμε το ακόλουθο τμήμα, πρέπει να προστεθεί στο αρχείο λειτουργίες.phpΘέματα:

Μην ξεχάσετε να αφαιρέσετε τα κενά στις ετικέτες!
Και λειτουργεί ως εξής, στο σημείο όπου πρέπει να εισάγετε PHPκωδικό, επιλέξτε τον ως εξής:

[κώδικας][/κώδικας]

Εξαίρεση αναρτήσεων από την αρχική σελίδα

Για να εξαιρέσετε όλες τις αναρτήσεις οποιασδήποτε κατηγορίας από την κύρια σελίδα, μπορείτε να χρησιμοποιήσετε αυτό το απόσπασμα και πρέπει να το προσθέσετε στο αρχείο λειτουργίες.phpΤο θέμα σας:

1
2
3
4
5
6
7
8
9

συνάρτηση excludeCat($query ) (
if ( $query -> is_home ) (
$query -> set ("cat" , "-3,-5,-23" );
}
επιστροφή $query ;
}
add_filter("pre_get_posts" , "excludeCat" );
?>

Breadcrumbs χωρίς πρόσθετο

Λοιπόν, για ένα σνακ, εδώ είναι ένα απόσπασμα κώδικα με το οποίο μπορείτε να οργανώσετε τα λεγόμενα "breadcrumbs" στο ιστολόγιο, αυτό είναι ένα πρόσθετο στοιχείο πλοήγησης όταν η διαδρομή εμφανίζεται με τη μορφή συνδέσμων σε σελίδες υψηλότερης κατάταξης στο σελίδα κατηγορίας και την κύρια σελίδα. Κάτι σαν αυτό (Αρχική->Κατηγορία 1->Τίτλος άρθρου). Αυτό το απόσπασμα κώδικα πρέπει να εισαχθεί στο αρχείο λειτουργίες.phpΤο θέμα σας:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

συνάρτηση the_breadcrumb() (
ηχώ "

    " ;
    if (! is_home() ) (
    ηχώ "
  • echo get_option("home" );
    echo "">" ;
    ηχώ "Σπίτι" ;
    ηχώ "
  • " ;
    if (is_category() || is_single() ) (
    ηχώ "
  • " ;
    the_category("
  • " ) ;
    if (is_single() ) (
    ηχώ "
  • " ;
    ο τίτλος() ;
    ηχώ "
  • " ;
    }
    ) elseif (is_page() ) (
    ηχώ "
  • " ;
    echo the_title() ;
    ηχώ "
  • " ;
    }
    }
    elseif (is_tag() ) (single_tag_title() ;)
    elseif (is_day() ) ( echo "
  • Αρχειοθέτηση για " ; the_time("F jS, Y" ) ; echo "
  • " ; }
    elseif (is_month() ) ( echo "
  • Αρχειοθέτηση για " ; the_time("F, Y") ; echo "
  • " ; }
    elseif (is_year() ) ( echo "
  • Αρχειοθέτηση για " ; the_time("Y") ; echo "
  • " ; }
    elseif (is_author() ) (echo "
  • Αρχείο Συγγραφέων "; ηχώ "
  • " ; }
    elseif (isset ($_GET [ "paged" ] ) && ! κενό ($_GET [ "paged" ] ) ) (echo "
  • Αρχείο" ; echo "
  • " ; }
    elseif (is_search() ) (echo "
  • Αποτελέσματα αναζήτησης"; ηχώ "
  • " ; }
    ηχώ "
" ;
}
?>

Για να χρησιμοποιήσετε αυτά τα "breadcrumbs", προσθέστε την ακόλουθη συνάρτηση στα αρχεία (archive.php, category.php, page.php, single.php, search.php):

Η εμφάνιση των "ψίχουλα" αφήνει πολλά να είναι επιθυμητή) Επομένως, θα πρέπει να δουλέψετε σε στυλ!

Αυτό είναι όλο =)

Για να μείνετε ενημερωμένοι με τα πιο πρόσφατα άρθρα και μαθήματα, εγγραφείτε στο



Φόρτωση...
Μπλουζα