Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WordPress hooks and plugin development - Χρήστος Ζιώγας

WordPress hooks and plugin development - Χρήστος Ζιώγας

14ο WordPress Larissa Meetup

A717e9d055b2284e573b2412e32f5397?s=128

WordPress Greek Community

October 23, 2018
Tweet

Transcript

  1. WordPress hooks 
 and plugin development Chris Ziogas | Software

    Engineer at Authentiq | @ziogaschr
 WordPress Greek Community | Larissa WordPress meetup
  2. Τι είναι το WordPress Το WordPress είναι ένα σύστημα διαχείρισης

    περιεχομένου (CMS) ανοιχτού κώδικα που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε έναν όμορφο ιστότοπο, blog ή εφαρμογή. Εξυπηρετεί το 31% του παγκόσμιου ιστού και έχει από τις πιο ενεργές κοινότητες.
  3. PLUGINS ΘΕΜΑΤΑ Background designed by 0melapics / Freepik ΠΥΡΗΝΑΣ WORDPRESS

  4. Τα Hooks είναι ένας τρόπος ώστε ένα κομμάτι κώδικα να

    αλληλεπιδράσει / τροποποιήσει ένα άλλο κομμάτι κώδικα. Αποτελούν το θεμέλιο για το πώς αλληλεπιδρούν τα Plugins και τα Θέματα με το WordPress Core, αλλά επίσης χρησιμοποιούνται εκτενώς από το ίδιο το Core. Υπάρχουν δύο τύποι Hooks: Actions και Filters. Εμείς δηλώνουμε μια προσαρμοσμένη συνάρτηση γνωστή ως Callback και, στη συνέχεια, ορίζουμε στο WordPress σε ποιό συγκεκριμένο Action ή Filter θέλουμε να εκτελεστεί. • Τα Actions, σας επιτρέπουν να προσθέσετε δεδομένα ή να αλλάξετε τον τρόπο λειτουργίας του WordPress. 
 Οι Callback συναρτήσεις για τα Actions θα εκτελεστούν σε ένα συγκεκριμένο σημείο της εκτέλεσης του WordPress και μπορούν να εκτελέσουν κάποια εργασία, όπως την εμφάνιση περιεχομένου στον χρήστη ή την εισαγωγή κάποιου στοιχείου στη βάση δεδομένων. • Τα Filters, σας δίνουν τη δυνατότητα να αλλάξετε δεδομένα κατά την εκτέλεση του WordPress. 
 Οι Callback συναρτήσεις για τα Filters θα αποδεχθούν μια μεταβλητή, θα την τροποποιήσουν και θα την επιστρέψουν. setup_theme registered_taxonomy registered_post_type plugins_loaded wp_loaded init register_sidebar widgets_init load_textdomain wp_head get_header wp_enqueue_scripts the_post get_footer get_sidebar wp_footer custom_filter_1 custom_hook_1 Hooks: Actions και Filters SOS για τις εξετάσεις ;)
  5. plugins_loaded init widgets_init admin_menu Πως ορίζουμε Actions

  6. plugins_loaded init widgets_init Πως καλούμε Actions admin_menu

  7. pre_comment_author_url pre_user_url the_title the_content Πως ορίζουμε Filters

  8. ME ΤΑ HOOKS ΚΑΙ ΤΗΝ ΒΟΗΘΕΙΑ ΤΟΥ SUPERMAN… ΠΑMΕ ΤΡΑΙΝΟ

    Art By: Joe Bennett, Sean Parsons, Hi-Fi Α ΤΣ’ ΠΑΛΑΒΟΙ!
  9. The Hooks train init login_form get_sidebar wp_footer • widgets_init •

    login_form 10.— 1. some_other_callback_1 2. some_other_callback_2 11.— 1. some_other_callback_1 2. pdlm_handle_login_form 3. some_other_callback_3 • wp_head
  10. • widgets_init • login_form 10.— 1. some_other_callback_1 2. some_other_callback_2 11.—

    1. some_other_callback_1 2. pdlm_handle_login_form 3. some_other_callback_3 • wp_head The Hooks train init login_form get_sidebar wp_footer 1 2 3
  11. PLUGINS ΘΕΜΑΤΑ Background designed by 0melapics / Freepik Characters designed

    by Freepik ΠΥΡΗΝΑΣ WORDPRESS
  12. Plugins στο WordPress.org 55.606

  13. ΔΩΣΕ SUPERPOWERS ΣΤΟ WORDPRESS ΜΕ ΤΗΝ ΧΡΗΣΗ PLUGINS

  14. Η δομή ενός Plugin • Διαδρομή φακέλου: /wp-content/plugins/(plugin- name/)plugin-name.php •

    Plugin Header Details (θα δούμε παρακάτω τι είναι αυτό) • Αρχεία plugin: εικόνες, JavaScripts, Stylesheets, Fonts
  15. Πότε να κάνουμε Plugins; • functions.php vs Plugins • Για

    εμπορεύσιμους σκοπούς • Όταν θέλουμε την ίδια λειτουργιά σε περισσότερους του ενός ιστότοπου • ευκολότερα updates παντού
  16. Να θυμάστε πάντα • Να ακολουθείτε τις οδηγίες και συναρτήσεις

    του WordPress σχετικά με την ασφάλεια του ιστότοπου και του χρήστη • Να κάνετε sanitize και verify τα πάντα στον κωδικά, ειδικά ότι εισάγει ο χρήστης • Ο κώδικας του παραδείγματος, δεν είναι βέλτιστος για πραγματική χρήση
  17. Ας φτιάξουμε ένα Plugin

  18. Ο σκοπός του Plugin Πριν Μετά

  19. Ο σκοπός του Plugin Αρχικά θα φτιάξουμε το εξής αρχείο

    
 /wp-content/plugins/wplarissameetup.php Plugin Header Details
  20. Το μενού του Plugin 1 2 3

  21. Η λειτουργία του Plugin

  22. Τι να προσέξουμε στα Plugins • Μερικές φορές ο αριθμός

    εγκαταστάσεων, δεν είναι εφάμιλλος της ποιότητας • Να μην έχουν security issues • Να είναι updated για τις τελευταίες εκδόσεις • Κάνουν χρήση λάθος Hooks, απλά γιατί δουλεύουν
  23. Credits To Thomas Vitale for his inspiring presentation at WordCamp

    Torino 2017 where I got the inspiration for this presentation flow.
  24. Σας ευχαριστώ Chris Ziogas | Software Engineer at Authentiq |

    @ziogaschr
 WordPress Greek Community | Larissa WordPress meetup Plugin source: https://gist.github.com/ziogaschr/4bbcd530543786866a877d481a9600f6