WordPress Tutorial: Πώς να δημιουργήσετε ένα πρόσθετο Μαρτυρίες

Άρθρο που γράφτηκε από:
  • WordPress
  • Ενημερώθηκε: Aug 12, 2013

Έτσι, εδώ είμαστε για το δεύτερο εβδομαδιαίο μας σεμινάριο στο WordPress. Έχουμε μάθει πώς να δημιουργούμε ένα άπειρη κύλιση χώρου WP και σελίδα-flip plugin στο παρελθόν. Σήμερα θα μάθουμε λίγο περισσότερα σχετικά με τους τύπους προσαρμοσμένων δημοσιεύσεων και τον τρόπο φόρτωσης των δεδομένων τους.

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

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

Zip & Εγκατάσταση

Αν βιάζεστε να το ελέγξετε αυτό, μπορείτε κατεβάσετε και να το εγκαταστήσετε.

Θα χρειαστεί να προσθέσετε κάποια δεδομένα στη συνέχεια, προσθέτοντας μερικές μαρτυρίες χρησιμοποιώντας τις ολοκαίνουργιες μαρτυρίες που μπορείτε να δείτε στον ταμπλό σας:

λίστα-μαρτυρίες

Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το βασικό κοντόκλειδο για να φορτώσετε ότι:

[μαρτυρίες rand = 0 max = 5]

Όταν προσθέσετε αυτόν τον κώδικα, θα δείτε κάτι παρόμοιο στη σελίδα σας:

βασικές μαρτυρίες

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

Τα Βασικά

Όπως έχουμε πει πριν, θα πρέπει να προσθέσετε το τα μεταδεδομένα κεφαλίδας, δημιουργήστε το αρχείο plugin και καλέστε τα σενάρια σας. Μεγάλη ιστορία σύντομη, θα δημιουργήσετε ένα νέο φάκελο κάτω από το wp-content / plugins με το όνομα του plugin σας, στη συνέχεια δημιουργήστε ένα αρχείο με το ίδιο όνομα με το φάκελο που θα είναι το κύριο αρχείο σας plugin.

Μόλις το κάνετε αυτό το αντίγραφο και επικολλήστε ως εξής:

<? php / * Όνομα πρόσθετου: Μαρτυρίες Περιγραφή: Εμφάνιση μαρτυριών πελατών. Έκδοση: 1.0 Συγγραφέας: Web Revenue Blog Άδεια χρήσης: GPL2 * / // Επεξεργασία σεναρίων και στυλ συνάρτηση plugin_scripts () {wp_enqueue_script ('jquery'); wp_enqueue_script ('flexslider', plugins_url ('js / jquery.flexslider-min.js', __FILE__), πίνακας ('jquery'), '2.2', ψευδής); wp_enqueue_script ('testimonials', plugins_url ('js / testimonials.js', __FILE__), array ('jquery'), '1.0', ψευδή); wp_enqueue_style ('flexsliderCSS', plugins_url ('css / flexslider.css', __FILE__), false, '2.2', 'όλα'); wp_enqueue_style ('testimonialsCSS', plugins_url ('css / testimonials.css', __FILE__), false, '1.0', 'όλα'); } add_action ("wp_enqueue_scripts", "plugin_scripts").

Εδώ κάνουμε:

  • Λέγοντας στο WP τι είναι το όνομα του plugin μας, συγγραφέας, τι κάνει
  • Δημιουργώντας μια συνάρτηση, όπου εισάγουμε κανονικά σενάρια (όπως το jQuery) και προσαρμοσμένα σενάρια (όπως το flexslider) και τα Stylesheets
  • Πείτε στο WP να φορτώσει τη λειτουργία σεναρίων στην προεπιλεγμένη κλήση σεναρίων, ώστε να φορτωθούν στις σελίδες

Είναι όλα πολύ δροσερό, αλλά μην ξεχάσετε να δημιουργήσετε πραγματικά τα αρχεία κάτω από / js και / css. Μπορείτε να τα κατεβάσετε απλά στο demo του περιεχομένου μας, ώστε να μην χρειάζεται να σκάβετε πολλά για να βρείτε τα αρχεία flexslider.

Τώρα έχουμε όλα τα βασικά πράγματα που μπορούμε να ξεκινήσουμε το αστείο κομμάτι.

Ο προσαρμοσμένος τύπος μηνύματος

Από προεπιλογή, το WordPress έχει συνηθισμένους τύπους δημοσιεύσεων 2, σελίδες και αναρτήσεις. Αλλά έχει επίσης πολλούς τύπους εσωτερικών θέσεων (όπως συνημμένα), οπότε ο ορισμός "post type" είναι: Κάθε τύπος δεδομένων που πρέπει να αποθηκεύσετε.

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

// τη μαύρη μαγεία για να δημιουργήσετε τη λειτουργία τύπου post_create_post_type () {register_post_type ('testimonials', // new post type array ('labels' => array ('name' => __ ('Testimonials' => __ ('Testimonial')), 'public' => true, / * Ο τύπος ταχυδρομείου προορίζεται για δημόσια χρήση. Αυτό περιλαμβάνει το front end και το wp-admin. ',' editor ',' thumbnail ',' custom_fields '),' hierarchical '=> false)). }}

Εδώ απλά χρησιμοποιούμε τη λειτουργία register_post_type () για να πείτε στο WP "Hey Buddy, πρέπει να αποθηκεύσουμε αυτό το είδος δεδομένων, παρακαλώ να είστε έτοιμοι να το λάβετε".

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

Τότε πρέπει να το καλέσουμε κάθε φορά που φορτώνουμε το WordPress. Αυτός ο γάντζος θα το κάνει:

add_action ('init', 'create_post_type').

Τα προσαρμοσμένα πεδία

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

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

Πρώτα απ 'όλα πρέπει να δημιουργήσουμε ένα νέο metabox, το οποίο είναι αυτά τα ωραία πάνελ που έχετε στην περιοχή επεξεργασίας μετά, κάθε μικρό πίνακα είναι ένα metabox. Αυτή η λειτουργία θα δημιουργήσει και θα την καλέσει:

// προσθέτοντας τη συνάρτηση πεδίου μεταδεδομένων στο πεδίο URL add_custom_metabox () {add_meta_box ('custom-metabox', __ ('Link'), 'url_custom_metabox', 'testimonials', 'side', 'low'). } add_action ('admin_init', 'add_custom_metabox').

Η συνάρτηση add_meta_box () απαιτεί αυτές τις παραμέτρους:

  1. ID - Το μοναδικό αναγνωριστικό για αυτό. Θα μπορούσατε να χρησιμοποιήσετε οτιδήποτε μοναδικό εδώ όπως το "unicorn-eating-rainbow" ή "testimonial-link". Οτιδήποτε μπορεί να χρησιμοποιηθεί εσωτερικά
  2. Τίτλος - Τι θα εμφανιστεί για το χρήστη; Εδώ είναι σημαντικό να χρησιμοποιήσετε τη συνάρτηση __ (), είναι η λειτουργία που επιτρέπει στους χρήστες ξένων γλωσσών να μεταφράσουν το plugin σας με αρχεία .po (χωρίς να επεξεργάζονται αρχεία plugin)
  3. Callback - Η λειτουργία όπου έχετε το πραγματικό περιεχόμενο του metabox
  4. Post Type - Στην περίπτωση μας θέλουμε να είναι ορατή μόνο για μαρτυρίες
  5. Πλαίσιο - Πού βρίσκεται στη σελίδα που θέλετε να εμφανίζεται
  6. Προτεραιότητα - Εάν πρέπει να είναι πριν από άλλα αντικείμενα της ίδιας θέσης ή μετά από αυτά

Τώρα πρέπει να δημιουργήσουμε τη συνάρτηση url_custom_metabox (), αφού την έχουμε ονομάσει.

// HTML για τη λειτουργία της περιοχής διαχείρισης url_custom_metabox () {global $ post; $ urllink = get_post_meta ($ post-> ID, 'urllink', true); // επικύρωση! if (! preg_match ("/ http (s?): ///", $ urllink) && $ urllink! = "") {$ errors = "Αυτή η διεύθυνση URL δεν είναι έγκυρη"; $ urllink = "http: //"; } // output invlid url message και προσθέστε το http: // στο πεδίο εισαγωγής αν (isset ($ errors)) {echo $ errors; (<urlink) </ span> </ span> <span style = "font-family: ) {echo $ urllink;};> "/> </ label> </ p> <? php}

Εντάξει, μεταφράζοντας τώρα σε απλό αγγλικό:

  • Η παγκόσμια μεταβλητή $ post καλείται, έτσι μπορούμε να γνωρίζουμε ποιο είναι το POSTID του τρέχοντος στοιχείου
  • Φορτώνουμε την τρέχουσα τιμή για τη διεύθυνση URL
  • Επικυρώνουμε Εάν η τιμή που εισάγει ο χρήστης είναι έγκυρη. Εάν υπάρχει τουλάχιστον μία εμφάνιση "http" ή "https", η τιμή είναι OK, διαφορετικά είναι έγκυρη και πρέπει να χρησιμοποιήσουμε την προεπιλεγμένη τιμή
  • Στη συνέχεια, εμφανίζουμε τα σφάλματα, αν υπάρχουν
  • Τώρα ξεκινάμε την πραγματική HTML, προσθέτοντας την προεπιλεγμένη τιμή στο πεδίο εισαγωγής όπως έχουμε στην PHP

Μετά από αυτό το σημείο πρέπει να αποθηκεύσουμε όσα αποστέλλονται από τον χρήστη. Θα χρησιμοποιήσουμε το άγκιστρο "save_post", οπότε κάθε φορά που το WordPress αποθηκεύει μια ανάρτηση, θα καλέσει αυτή τη λειτουργία:

// αποθηκεύει τη συνάρτηση δεδομένων προσαρμοσμένου πεδίου save_custom_url ($ post_id) {global $ post; αν είναι (isset ($ _ POST ['siteurl'])) {update_post_meta ($ post-> ID, 'urllink', $ _POST ['siteurl']); }} add_action ('save_post', 'save_custom_url').

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

Αφού όλα είναι στη θέση τους, θα δείτε πώς θα εμφανιστεί η νέα σελίδα μαρτυρίας σας:

νέα μαρτυρία

Φόρτωση των προσαρμοσμένων δεδομένων μας

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

Έτσι, πρώτα ας δημιουργήσουμε μια λειτουργία για να πάρουμε το σύνδεσμο του ιστοτόπου μας, αν υπάρχει.

// επιστροφή URL για μια λειτουργία post get_url ($ post) {$ urllink = get_post_meta ($ post-> ID, 'urllink', true); επιστροφή $ urllink; }}

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

// καταχώρηση του shortcode για την εμφάνιση μαρτυρίας function load_testimonials ($ a) {$ args = array ("post_type" => "testimonials"); αν είναι (isset ($ a ['rand']) && $ a ['rand'] == true) {$ args ['orderby'] = 'rand'; } if (isset ($ a ['max'])) {$ args ['posts_per_page'] = (int) $ a ['max']; } // να πάρει όλες τις μαρτυρίες $ posts = get_posts ($ args); // HTML OUTPUT} add_shortcode ("μαρτυρίες", "load_testimonials");

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

Τώρα πρέπει να προσθέσουμε κάποιο κώδικα HTML, ακολουθώντας την προεπιλεγμένη δομή του flexslider. Εδώ είναι πώς θα μοιάζει με:

echo '<div>'; echo '<ul>'; foreach ($ μηνύματα ως $ post) {// να πάρει αντίχειρα εικόνα $ url_thumb = wp_get_attachment_thumb_url (get_post_thumbnail_id ($ post-> ID))? $ link = get_url ($ ανάρτηση); echo '<li>'; αν (! κενό ($ url_thumb)) {echo '<img src = "'. $ url_thumb." "/> '; } echo '<h2>'. $ post-> post_title. '</ h2>'; αν (! κενό ($ post-> post_content)) {echo '<p>'. $ post-> post_content. <br /> '; } αν (! κενό ($ link)) {echo '<a href="'.$link.'"> Επισκεφθείτε τον ιστότοπο </a> </ p>'; } echo '</ li>'; } echo '</ ul>'; echo '</ div>';

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

Τι γίνεται με την πλευρική μπάρα;

Οι περισσότεροι άνθρωποι απλά θέλουν να δείξουν μαρτυρίες στην πλαϊνή μπάρα και αυτό το plugin δεν θα λειτουργήσει πολύ καλά, αφού τα widget κειμένου δεν επεξεργάζονται shortcodes. Υπάρχει μια απλή λύση για αυτό, απλά προσθέστε αυτό στον κωδικό σας:

add_filter ('widget_text', 'do_shortcode').

Ποιο είναι το επόμενο;

Έτσι, σας άρεσε αυτό το σεμινάριο; Τι θα προσθέσετε ως επιλογή για το μαρκαριστικό σας μάρτυρα; Έχετε ιδέες για μελλοντικές αναρτήσεις; Ενημερώστε μας χρησιμοποιώντας το τμήμα σχολίων!

Σχετικά με την Rochester Oliveira

Είμαι σχεδιαστής ιστοσελίδων και επιχειρηματίας από την Itajubá (MG), τη Βραζιλία. Μου αρέσει να γράφω για τα σκοτεινά θέματα και να κάνω μερικά δροσερά πράγματα.

Συνδέω: