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

Ενημερώθηκε: 12 Αυγούστου 2013 / Άρθρο από: Rochester Oliveira

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

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

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

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

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

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

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

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

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

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

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

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

Τα Βασικά

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

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

<?php
/*
Plugin Name: Testimonials
Description: Display customer testimonials.
Version: 1.0
Author: Web Revenue Blog
License: GPL2
*/

//enqueueing scripts and styles
function plugin_scripts(){
    wp_enqueue_script('jquery');
    wp_enqueue_script('flexslider', plugins_url( 'js/jquery.flexslider-min.js' , __FILE__ ), array('jquery'), '2.2', false);
    wp_enqueue_script('testimonials', plugins_url( 'js/testimonials.js' , __FILE__ ), array('jquery'), '1.0', false);
    wp_enqueue_style('flexsliderCSS', plugins_url( 'css/flexslider.css' , __FILE__ ), false, '2.2', 'all' );
    wp_enqueue_style('testimonialsCSS', plugins_url( 'css/testimonials.css' , __FILE__ ), false, '1.0', 'all' );
}
add_action("wp_enqueue_scripts","plugin_scripts");

Εδώ κάνουμε:

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

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

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

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

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

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

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

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

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

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

add_action ('init', 'create_post_type').

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

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

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

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

// προσθήκη της συνάρτησης πεδίου meta box 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! = "") {$ error = "Αυτή η διεύθυνση URL δεν είναι έγκυρη"; $ urllink = "http: //"; } // έξοδος μηνύματος url και προσθέστε το http: // στο πεδίο εισαγωγής, εάν (Isset (σφάλματα $)) {echo $ σφάλματα; };> Διεύθυνση URL: " />

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

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

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

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

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

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

νέα μαρτυρία

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

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

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

// επιστροφή URL για μια συνάρτηση ανάρτησης get_url ($ post) {$ urllink = get_post_meta ($ post-> ID, "urllink", true); επιστροφή $ urllink; }

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

// εγγραφή του σύντομου κώδικα για εμφάνιση λειτουργιών μαρτυρίας load_testimonials ($ a) {$ args = array ("post_type" => "testimonials"); if (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. Εδώ είναι πώς θα μοιάζει με:

ηχώ ' "; ηχώ ' "; foreach ($ δημοσιεύσεις ως $ post) {// λήψη εικόνας αντίχειρα $ url_thumb = wp_get_attachment_thumb_url (get_post_thumbnail_id ($ post-> ID)); $ link = get_url ($ ανάρτηση); ηχώ ' "; αν (! άδεια ($ url_thumb)) {echo ' "; }          ηχώ ' $. post-> post_title. " "; αν (! κενό ($ post-> post_content)) {echo ' $. post-> post_content. " "; } εάν (! κενό ($ link)) {echo ' Επισκεφτείτε τον ιστότοπο "; }       ηχώ ' "; }    ηχώ ' "; ηχώ ' ";

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

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

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

add_filter ('widget_text', 'do_shortcode').

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

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

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

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