Download - Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Transcript
Page 1: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

20 Δεκεμβρίου, Jelly Ioannina

Νίκος Γεωργάκηςhttp:ngtech.eu

Page 2: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Θα δούμε παρακάτω:

➢ Πώς γίνεται μία τυπική εγκατάσταση σε έναν VPS.

➢ Πολύ σύντομα το περιβάλλον διαχείρισης του WordPress και το τι αυτό προσφέρει στον χρήστη.

➢ Την δομή των καταλόγων & αρχείων μίας τυπικής εγκατάστασης.

➢ Την δομή της βάσης δεδομένων του WordPress.

➢ Τις δυνατότητες επέκτασης που μας δίνει μέσω των Themes & Plugins

➢ Την βασική δομή ενός plugin & ενός Theme

Page 3: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Τι είναι το WordPress & που μπορώ να μάθω περισσότερα ή να βρω βοήθεια;

➢ Αν αναρωτιέστε τι είναι το WordPress σταματήστε με αμέσως! Θα χαρώ να σας εξηγήσω προφορικά περισσότερα. ➢ Για οτιδήποτε γύρω από το WordPress ξεκινάτε εδώ: http://wordpress.org - Αρχική σελίδα

http://codex.wordpress.org - Documentationhttp://wordpress.org/showcase/ - Δείτε δημιουργίεςhttp://wordpress.org/extend/ - Plugins / Themes etc

➢ Και για τους γκρινιάρηδες :-)http://wordpress.org/extend/kvetch/

➢ Από εκεί και πέρα υπάρχουν κυριολεκτικά χιλιάδες site γύρω από το WordPress μια απλή αναζήτηση θα σας πείσει!

Page 4: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Εγκατάσταση WordPress (1/2):

➢ To WordPress φημίζεται για την ιδιαίτερα εύκολη και γρήγορη εγκατάστασή του.➢ Χρειαζόμαστε έναν Windows η Linux Server με: PHP >= 5.2.4 MySQL >= 5.0.0➢ Συνιστώμενη πλατφόρμα είναι Linux / xxBSD με suPHP Apache 2.2 / Nginx, αποφύγετε Windows Server.αποφύγετε Windows Server.

➢ Μπορούμε να χρησιμοποιήσουμε και άλλους Web Server πχ. Cherokee μα θα πρέπει να φτιάξουμε δικούς μας rewrite rules, οτιδήποτε εκτός από Apache είναι μόνο για προχωρημένους χρήστες.

➢ Θέλουμε μία βάση δεδομένων & έναν χρήστη MySQL και ένα τρόπο να κάνουμε upload τα αρχεία στον server.

Page 5: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Εγκατάσταση WordPress (2/2):

➢ Κατεβάζουμε το αρχείο εγκατάστασης από εδώ:http://wordpress.org/download/

➢ Αποσυμπιέζουμε και ανεβάζουμε τα αρχεία στο Server με SFTP ή SSH (Καλό θα ήταν να ξεχάσουμε το FTP!)➢ Επισκεπτόμαστε την σελίδα εγκατάστασης και ακολουθούμε μερικά απλά βήματα: http://example.com/blog/wp-admin/install.php➢ Εναλλακτικά μπορούμε να φτιάξουμε μόνοι μας το αρχείο wp-config.php .

➢ Είμαστε έτοιμοι!

Θα ακολουθήσει μία σύντομη επίδειξης της εγκατάστασης.Μετά το τέλος της παρουσίασης μπορώ να δείξω σε οποίον ενδιαφέρεται περισσότερα σε live EC2 Server

Page 6: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Επίδειξη εγκατάστασης WordPress :

➢ Έχω ετοιμάσει ένα μικρό SWF ScreenCast με τα βήματα που ακολουθούμε για να κάνουμε την εγκατάσταση:➢ Ανοίξτε το αρχείο αυτό από εδώ :

http://jelly-ioannina.gr/files/3rd/wordpress_install.html ➢ Κατά διαστήματα υπάρχουν κουμπιά παύσης σε σημεία που πρέπει να σταματήσουμε έτσι ώστε να αναφερθούμε προφορικά στο τι πρέπει να προσέξουμε έτσι ώστε να αποφύγουμε προβλήματα ασφαλείας και πιθανές μελλοντικές δυσλειτουργίες➢ Είναι επίσης μία καλή ευκαιρία να κάνετε τις ερωτήσεις σας!

Page 7: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Περιβάλλον Χρήσης & Διαχείρισης➢ Κάντε τώρα Login με τα ονόματά χρήστη και τους κωδικούς στην διεύθυνση του προσωρινού cloud server που θα τρέχει κατά την διάρκεια του Jelly Ioannina.

Μην τους κάνετε paste στο chat γιατί είναι δημόσιο / ανοιχτό σε όλους

➢ Θα κάνω paste στο chat τις διευθύνσεις των σελίδων ώστε να συντονιζόμαστε αν “χαθείτε” σταματήστε με και ρωτήστε.

Page 8: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Δομή καταλόγων και αρχείων WordPress:Αρχικός Κατάλογος:

Κύρια αρχεία / core files (wp-settings.php, wp-config.php, κλπ)

/wp-admin

Ουσιαστικά ένα “ανεξάρτητο” micro-site με δικά του css, js & includes directories που παρέχει το περιβάλλον διαχείρησης που είδαμε

/wp-includes

classes, libraries, scripts for entire app, JS libraries, images

/wp-content

/plugins

Μπορεί να έιναι φάκελοι για μεγάλα plugins, η σπανιότερα μεμονωμένα αρχεία.

/themes

Φάκελοι για κάθε θέμα εμφάνισης (WordPress Themes) με αρκετό PHP Code...

/uploads

Τυπικά οργανωμένο κατά year/month

… και άλλους φακέλους ανάλογα με την εγκατάσταση

Προσοχή στα permissions ανάλογα με τον χρήστη του web server (ρωτήστε)

Page 9: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Δομή Βάσης Δεδομένων WordPress (1/2):

Page 10: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Δομή Βάσης Δεδομένων WordPress (2/2):wp_comments & wp_commentmeta:

Πίνακες που περιέχουν οτιδήποτε σχετίζεται με τα comments των χρηστών.

wp_links:Ουσιαστικά “άχρηστος πίνακας” με δεσμούς του admin Interface.... (Υπόλειμα παλαιότερων εκδόσεων)

wp_options Ο ποιό κρίσιμος και ποιό παρεξηγημένος πίνακας του WordPress - Περιέχει τις ρυθμισεις τόσο του πυρήνα αλλά και όλων των πρόσθετων. Εδώ αποθηκεύουμε ώς developers πολύ εύκολα οτιδήποτε μπορεί να υποστεί serialization μέσω του Options / Settings & Transients API οπότε συνηθίζεται να βρίσκουμε τα πάντα … Ακόμη και δεδομένα που θα χρειαζόταν δικό τους πίνακα...

Προσπαθήστε να τον χρησιμοποείτε στα δικά σας plugin σωστά , μπορώ να σας πώ μερικά tips στο τέλος της παρουσίασης.

wp_postmetaΠεριέχει όλα τα extra (custom) meta data για posts/pages. Είναι μία καλή θέση να αποθηεκύουμε μέσω του αντίστοιχου API δικές μας πρόσθετες πληροφορίες για κάθε page / post.

wp_postsΠεριέχει τις βασικές πληροφορίες για pages / posts και πολλά άλλα είδη περιεχομένου όπως menus / links / shop items etc(Θα αναφερθούμε αναλυτικά παρακάτω στα custom page types / taxonomies )

wp_terms & wp_term_relationships & wp_term_taxonomy Εδώ και μερικές εκδόσεις το WordPress έχει ένα πολύ δυνατό και σύστημα για categories, tags, link categories and custom taxonomies. Μαζί με τα custome page types μπορούμε να κάνουμε πάρα πολλά πράγματα χωρίς να χρειαστεί να φτιάξουμε νέα tables. (Για τους Drupalades σκεφτείτε CCK – Content Construction Kit) Ειναι ένας πανίσχυρος συνδυασμός που χρειάζεται δικιά του παρουσίαση!

wp_usermeta & wp_users Περιέχουν τις επιπρόσθετες meta πληροφορίες και τα βασικά δεδομένα των χρηστών του WordPress. Μπορούμε πολύ εύκολα μέσω του αντίστοιχου API να προσθέσουμε και εμέίς δικές μας ρυθμίσεις ανά χρήστη καθώς και να καθορίσουμε ρόλους & αρμοδιότητες σε καθέναν από αυτούς.

Page 11: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Δυνατότητες Επέκτασης:

Credits to @nacin & @xentek

Page 12: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Plugins

Page 13: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Ανατομία ενός WordPress Plugin: Όλα τα αρχεία PHP που βρίσκονται μέσα στον φάκελο /wp-content/plugins σαρώνονται στην αρχή για την παρακάτω κεφαλίδα:

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

<?php

/*

Plugin Name: Name Of The Plugin

Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates

Description: A brief description of the Plugin.

Version: The Plugin's Version Number, e.g.: 1.0

Author: Name Of The Plugin Author

Author URI: http://URI_Of_The_Plugin_Author

License: A "Slug" license name e.g. GPL2

*/

?>

Απο εκέι και πέρα ένα τυπικό plugin περιλαμβάνει κώδικα PHP / Javascript / CSS & HTML που εκτελεί τις λειτουργίες που επιθυμούμε μέσα από έναν συνδυασμό δικών μας συναρτήσεων με έτοιμες συναρτήσεις του WordPress.

Η σύνδεση του δικού μας κώδικα με το WordPress γίνεται μέσω τριών κυρίων μηχανισμών:

Hooks (για Actions & Filters) / Widgets / ShortcodesΥπάρχουν και τα Pluggable Functions αλλά είναι για πολύ συγκεκριμένες χρήσεις...

Page 14: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

WordPress Hooks API: Μέσω του Actions & Filter Hooks API του WordPress μπορούμε να τροποποιήσουμε ριζικά την λειτουργία και συμπεριφορά του WordPres χωρίς να κάνουμε καμία αλλαγή σε αρχεία εκτός του φακέλου του πρόσθετού μας.

Αυτό είναι δυνατόν γιατί σχεδόν πάντοτε το WordPress πρίν εκτελέσει κάποια ενέργεια / ανακτήσει ή αποθηκεύσει δεδομένα καλέι μέσω των μηχανισμών των filter & action hooks τις συναρτήσεις που εμείς ορίζουμε δίνοντάς μας την δυνατότητα να τροποποιήσουμε ή ακόμη και να καταργήσουμε εντελώς τα αποτελέσματα που κανονικά αυτές θα είχαν.

Actions: Actions are the hooks that the WordPress core launches at specific points during execution, or when specific events occur. Your plugin can specify that one or more of its PHP functions are executed at these points, using the Action API.

Filters: Filters are the hooks that WordPress launches to modify text of various types before adding it to the database or sending it to the browser screen. Your plugin can specify that one or more of its PHP functions is executed to modify specific types of text at these times, using the Filter API.

Ανοίξτε το http://codex.wordpress.org/Plugin_API

Page 15: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

WordPress Functions: Εκτός του Actions & Filter Hook API το WordPress παρέχει δεκάδες συναρτήσεις που μπορούμε να καλέσουμε από τα plugin μας.

Οι συναρτήσεις αυτές χωρίζονται σε μερικές μεγάλες κατηγορίες:

● Post, Custom Post Type, Page, Attachment and Bookmarks Functions

● Category, Tag and Taxonomy Functions

● User and Author Functions

● Feed Functions

● Comment, Ping, and Trackback Functions

● Action, Filter, and Plugin Functions

● Theme-Related Functions

● Formatting Functions

● Multisite functions

● & Πολλές άλλες που δεν ανήκουν στις παραπάνω ομάδες

Ανοίξτε το http://codex.wordpress.org/Function_Reference

Page 16: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Widgets & Short Codes:

Σχεδόν όλα τα WordPress Themes έχουν μία ή και περισσότερες Side Bars, περιοχές δηλαδή συνήθως στα άκρα των σελίδων που περιέχουν blocks περιεχομένου που μπορεί ο διαχειριστής να προσθέσει / αφαιρέσει ή να αλλάξει τις ρυθμίσεις τους μέσα από το περιβάλλον διαχείρισης του WordPress.

Τα κομμάτια αυτά ονομάζονται Widgets και παρέχονται τόσο από τον κύριο κώδικα του WordPress αλλά και από τα εγκατεστημένα plugins.

Μπορούμε πολύ εύκολα να προσθέσουμε και εμείς δικά μας widget στα plugin μας μέσω του αντίστοιχου API.

Τα shotcodes είναι το αντίστοιχο του [bbcode] που ίσως να γνωρίζετε από τα forum. Είναι ένας μηχανισμός φίλτρων που μπορούμε να ενσωματώσουμε δικές μας συναρτήσεις που θα αντικαθιστούν λέξεις κλειδιά εντός [] με περιεχόμενο της επιλογής μας. Δείτε το http://codex.wordpress.org/WordPress_Widgets &

http://codex.wordpress.org/Shortcode_API

Page 17: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

ThemesΘέμα της επόμενης Παρουσίασης...

Προς το παρόν πάμε πίσω στο demo site να πούμε προφορικά τα βασικότερα πράγματα...

Page 18: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Ερωτήσεις;

? ;

Page 19: Εισαγωγή στο WordPress και στην ανάπτυξη WordPress Plugins & Themes

Ευχαριστώ

● Νίκος Γεωργάκης● [email protected]● www.ngtech.eu

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