﻿<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>GreekTuts &#187; Wordpress</title> <atom:link href="http://greektuts.net/category/creative-platforms-articles/wordpress/feed/" rel="self" type="application/rss+xml" /><link>http://greektuts.net</link> <description>Ελληνικά Βοηθήματα</description> <lastBuildDate>Mon, 30 Jan 2012 13:52:21 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>WordPress SEO μέρος 3ο: Ping Services, Sitemaps</title><link>http://greektuts.net/wordpress-seo-part3-ping-services-sitemaps/</link> <comments>http://greektuts.net/wordpress-seo-part3-ping-services-sitemaps/#comments</comments> <pubDate>Thu, 15 Dec 2011 16:58:28 +0000</pubDate> <dc:creator>kostasmoser</dc:creator> <category><![CDATA[SEO]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[Συμβουλές]]></category> <category><![CDATA[moser]]></category> <category><![CDATA[pingback]]></category> <category><![CDATA[pingback links]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[sitemap]]></category> <category><![CDATA[wordpress seo]]></category> <category><![CDATA[wp seo]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=5616</guid> <description><![CDATA[Αφού λοιπόν είδαμε μερικά γενικά πράγματα για το SEO και κάποιες πρώτες ρυθμίσεις ή ενέργειες που πρέπει να κάνουμε στην αρχή, σήμερα θα ασχοληθούμε με τρεις ακόμη λειτουργίες.]]></description> <content:encoded><![CDATA[<p>Τα ping services μας τα προσφέρει το WordPress γλυτώνοντας μας από τον χρόνο που θα χρειαζόταν να κάνουμε ping διάφορες ιστοσελίδες που συλλέγουν υλικό κάθε φορά που δημοσιεύουμε ένα νέο άρθρο. Όσων αφορά τα sitemaps θα δούμε πως μπορούμε με την χρήση plugin να δημιουργήσουμε sitemaps σε μορφές που είναι αποδεκτές από τις μηχανές αναζήτησης.</p><h1>WordPress Ping Services</h1><p>Το WordPress κάθε φορά που δημοσιεύουμε ένα νέο άρθρο &#8220;ειδοποιεί&#8221; κάποιες ιστοσελίδες (όπως το Techonarati για παράδειγμα) πως υπάρχει νέο υλικό στο blog μας. Μέσω αυτής της διαδικασίας μειώνεται στο ελάχιστο ο χρόνος που θα χρειαστούν οι μηχανές αναζήτησης να εντοπίσουν το νέο άρθρο και να το εμφανίζουν στα αποτελέσματά τους.</p><p>Εδώ ας κάνουμε μία μικρή παρένθεση, ξεκαθαρίζοντας πως το Wordress (ή και κάποιες ιστοσελίδες που κάνουν ping όπως το ping-o-matic) δεν καταχωρεί το νέο σας υλικό στις μηχανές αναζήτησης! Πολλοί μπερδεύονται και αν διαβάσατε κάπου κάτι αντίστοιχο να έχετε υπόψη πως δεν ισχύει. Αυτό που κάνει το WordPress και οι αντίστοιχες ιστοσελίδες είναι να ειδοποιεί κάποια μεγάλα directories πως υπάρχει νέο υλικό ώστε μπείτε στην λίστα για να επισκεφτεί το robot και να κάνει index την νέα σας σελίδα.</p><p>Για να δείτε ποια services χρησιμοποιεί το WordPress αρκεί να μεταβείτε το μενού Ρυθμίσεις -&gt; Σύνταξη. Εκεί θα βρείτε το πεδίο με το όνομα Ενημέρωση υπηρεσιών που μπορείτε να προσθέσετε εσείς όποια υπηρεσία θέλετε. Ακολουθεί μια προτεινόμενη λίστα υπηρεσιών που θα σας καλύψει</p><p>(απλά κάντε την αντιγραφή και επικόλληση και στο τέλος πατήστε στο κουμπί Αποθήκευση αλλαγών).</p><blockquote><p><a
href="http://static.greektuts.net/uploads/2011/12/ping-services.jpg"><img
class="aligncenter size-full wp-image-5617" title="ping-services" src="http://static.greektuts.net/uploads/2011/12/ping-services.jpg" alt="" width="540" height="220" /></a></p></blockquote><pre>http://xping.pubsub.com/ping
http://www.blogdigger.com/RPC2
http://topicexchange.com/RPC2
http://rpc.weblogs.com/RPC2
http://rpc.technorati.com/rpc/ping
http://rpc.icerocket.com:10080/
http://rpc.blogrolling.com/pinger
http://pinger.blogflux.com/rpc
http://ping.weblogalot.com/rpc.php
http://ping.syndic8.com/xmlrpc.php
http://ping.cocolog-nifty.com/xmlrpc
http://ping.bloggers.jp/rpc
http://ping.blo.gs/
http://coreblog.org/ping
http://blogdb.jp/xmlrpc/
http://api.moreover.com/RPC2
http://api.moreover.com/ping
http://api.feedster.com/ping
http://blogsearch.google.com/ping/RPC2
http://api.my.yahoo.com/rss/ping
http://ping.feedburner.com
http://1470.net/api/ping
http://api.my.yahoo.com/RPC2
http://bblog.com/ping.php
http://bitacoras.net/ping
http://blogbot.dk/io/xml-rpc.php
http://blogmatcher.com/u.php
http://bulkfeeds.net/rpc
http://mod-pubsub.org/kn_apps/blogchatt
http://mod-pubsub.org/knapps/blogchatt
http://ping.amagle.com
http://ping.bitacoras.com
http://ping.blogmura.jp/rpc
http://ping.exblog.jp/xmlrpc
http://ping.myblog.jp
http://ping.rootblog.com/rpc.php
http://ping.weblogs.se
http://rcs.datashed.net/RPC2
http://thingamablog.sourceforge.net/ping.php
http://trackback.bakeinu.jp/bakeping.php
http://www.a2b.cc/setloc/bp.a2b
http://www.bitacoles.net/ping.php
http://www.blogoole.com/ping
http://www.blogoon.net/ping
http://www.blogpeople.net/servlet/weblogUpdates
http://www.blogroots.com/tb_populi.blog?id=1
http://www.blogroots.com/tbpopuli.blog?id=1
http://www.blogshares.com/rpc.php
http://www.blogsnow.com/ping
http://www.blogstreet.com/xrbin/xmlrpc.cgi
http://www.lasermemory.com/lsrpc
http://www.mod-pubsub.org/kn_apps/blogchatter/ping.php
http://www.mod-pubsub.org/knapps/blogchatter/ping.php
http://www.newsisfree.com/xmlrpctest.php
http://www.popdex.com/addsite.php
http://www.snipsnap.org/RPC2
http://www.weblogues.com/RPC
http://xmlrpc.blogg.de
http://holycowdude.com/rpc/ping/
http://pingoat.com/goat/RPC2
http://rpc.blogbuzzmachine.com/RPC2
http://rpc.newsgator.com/
http://api.my.yahoo.co.jp/RPC2
http://audiorpc.weblogs.com/RPC2
http://blog.goo.ne.jp/XMLRPC
http://blogpeople.net/ping
http://blogsearch.google.ae/ping/RPC2
http://blogsearch.google.at/ping/RPC2
http://blogsearch.google.be/ping/RPC2
http://blogsearch.google.bg/ping/RPC2
http://blogsearch.google.ca/ping/RPC2
http://blogsearch.google.ch/ping/RPC2
http://blogsearch.google.cl/ping/RPC2
http://blogsearch.google.co.cr/ping/RPC2
http://blogsearch.google.co.hu/ping/RPC2
http://blogsearch.google.co.id/ping/RPC2
http://blogsearch.google.co.il/ping/RPC2
http://blogsearch.google.co.in/ping/RPC2
http://blogsearch.google.co.jp/ping/RPC2
http://blogsearch.google.co.ma/ping/RPC2
http://blogsearch.google.co.nz/ping/RPC2
http://blogsearch.google.co.th/ping/RPC2
http://blogsearch.google.co.uk/ping/RPC2
http://blogsearch.google.co.ve/ping/RPC2
http://blogsearch.google.co.za/ping/RPC2
http://blogsearch.google.com.ar/ping/RPC2
http://blogsearch.google.com.au/ping/RPC2
http://blogsearch.google.com.br/ping/RPC2
http://blogsearch.google.com.co/ping/RPC2
http://blogsearch.google.com.do/ping/RPC2
http://blogsearch.google.com.mx/ping/RPC2
http://blogsearch.google.com.my/ping/RPC2
http://blogsearch.google.com.pe/ping/RPC2
http://blogsearch.google.com.sa/ping/RPC2
http://blogsearch.google.com.sg/ping/RPC2
http://blogsearch.google.com.tr/ping/RPC2
http://blogsearch.google.com.tw/ping/RPC2
http://blogsearch.google.com.ua/ping/RPC2
http://blogsearch.google.com.uy/ping/RPC2
http://blogsearch.google.com.vn/ping/RPC2
http://blogsearch.google.com/ping/RPC2
http://blogsearch.google.de/ping/RPC2
http://blogsearch.google.es/ping/RPC2
http://blogsearch.google.fi/ping/RPC2
http://blogsearch.google.fr/ping/RPC2
http://blogsearch.google.gr/ping/RPC2
http://blogsearch.google.hr/ping/RPC2
http://blogsearch.google.ie/ping/RPC2
http://blogsearch.google.it/ping/RPC2
http://blogsearch.google.jp/ping/RPC2
http://blogsearch.google.lt/ping/RPC2
http://blogsearch.google.nl/ping/RPC2
http://blogsearch.google.pl/ping/RPC2
http://blogsearch.google.pt/ping/RPC2
http://blogsearch.google.ro/ping/RPC2
http://blogsearch.google.ru/ping/RPC2
http://blogsearch.google.se/ping/RPC2
http://blogsearch.google.sk/ping/RPC2
http://blogsearch.google.us/ping/RPC2
http://hamo-search.com/ping.php
http://ping.bloggnytt.se
http://ping.blogs.yandex.ru/RPC2
http://ping.kutsulog.net/
http://ping.namaan.net/rpc
http://rpc.aitellu.com
http://rpc.bloggerei.de/ping/
http://rpc.blogrolling.com/pinger/
http://rpc.reader.livedoor.com/ping
http://rpc.twingly.com/
http://xianguo.com/xmlrpc/ping.php
http://xping.pubsub.com/ping/
http://zhuaxia.com/rpc/server.php
http://blogsearch.google.co.it/ping/RPC2
http://blogsearch.google.in/ping/RPC2
http://blogsearch.google.tw/ping/RPC2
http://feedsky.com/api/RPC2
http://ping.blogoon.net
http://ping.fc2.com
http://ping.snap.com/ping/RPC2
http://ping.wordblog.de
http://r.hatena.ne.jp/rpc
http://rpc.technorati.jp/rpc/ping
http://wasalive.com/ping/
http://www.newsisfree.com/RPCCloud</pre><h1>Πως θα δημιουργήσετε Sitemaps στο WordPress</h1><p>Τα Sitemaps είναι λίστες που περιέχουν όλες τις σελίδες από μια ιστοσελίδα. Με αυτό τον τρόπο οι μηχανές αναζήτησης μπορούν να περιηγηθούν στο blog σας χωρίς να παραλείψουν κάποια από τις σελίδες σας. Κάθε ιστοσελίδα θα πρέπει να περιέχει ένα sitemap σε μορφή xml αρχείου. Υπάρχουν διάφορα plugins που κάνουν αποκλειστικά και μόνο αυτή τη δουλειά όπως το Google XML Sitemaps.</p><p>Εμείς για χρησιμοποιήσουμε το plugin Yoast SEO. Το Yoast SEO είναι ένα plugin που περιέχει όλες τις βασικές SEO ρυθμίσεις που χρειάζεται ένα blog. Και αναλυτικότερα θα ασχοληθούμε μαζί του στο επόμενο tutorial. Σήμερα απλά θα το ρυθμίσουμε να διαχειρίζεται τα sitemaps του blog μας. Εγκαθιστούμε λοιπόν το Yoast SEO και αφού το ενεργοποιήσουμε από το μενού διαχείρισης στα αριστερά πατάμε στο SEO -&gt; XML Sitemaps, βάζουμε τικ στο κουτάκι ώστε να εμφανιστούν και οι υπόλοιπες ρυθμίσεις του:</p><blockquote><p><a
href="http://static.greektuts.net/uploads/2011/12/yoast-seo-sitemap-settings.png"><img
class="aligncenter size-full wp-image-5618" title="yoast-seo-sitemap-settings" src="http://static.greektuts.net/uploads/2011/12/yoast-seo-sitemap-settings.png" alt="" width="540" height="305" /></a></p></blockquote><p>Στην κατηγορία General Settings μας ρωτάει αν θέλουμε αν θέλουμε μετά από κάθε δημοσίευση, το Yoast να ειδοποιεί τις σελίδες Yahoo! Και Ask πως υπάρχει κάποια αλλαγή στο site μας (δηλαδή να κάνει ping προς αυτές, όπως αναφέραμε παραπάνω!). Καλό είναι να ενεργοποιήσετε και τις δύο επιλογές.</p><p>Στην κατηγορία Exclude post Types μπορούμε να επιλέξουμε αν θέλουμε κάποιο είδος άρθρων (post type) μην συμπεριλαμβάνεται στα sitemaps της σελίδας μας (διαβάστε περισσότερα για τα post types στο Codex του WordPress). Δεν ενεργοποιούμε καμία από τις δύο επιλογές!</p><p>Τέλος το Yoast μας ρωτάει αν θέλουμε να μην συμπεριλαμβάνει τις Κατηγορίες και τις Ετικέτες μας στα sitemaps του. Και αυτό το αφήνουμε ως έχει χωρίς να επιλέξουμε κάτι.<br
/> Τέλος πατάμε Save Settings και είμαστε έτοιμοι! Για να δείτε το κεντρικό sitemap αρκεί να επισκεφτείτε την διεύθυνση http://todomainsas.com/sitemap_index.xml<br
/> Αυτά για σήμερα! Στο επόμενο tutorial θα δούμε πως θα ρυθμίσουμε το Yoast SEO. Αν παρατηρήσετε έχει πάρα πολλές ρυθμίσεις, αλλά μην ανησυχείτε θα τις εξετάσουμε μία προς μία αναλυτικά!</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordpress-seo-part3-ping-services-sitemaps/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>WordPress SEO μέρος 2ο: Λέξεις κλειδιά, βασικές ρυθμίσεις και μόνιμοι σύνδεσμοι στο WordPress</title><link>http://greektuts.net/wordpress-seo-part-2-keywords-settings-permalinks/</link> <comments>http://greektuts.net/wordpress-seo-part-2-keywords-settings-permalinks/#comments</comments> <pubDate>Wed, 09 Nov 2011 16:01:16 +0000</pubDate> <dc:creator>kostasmoser</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[Οδηγος Χρήσης]]></category> <category><![CDATA[kostas]]></category> <category><![CDATA[moser]]></category> <category><![CDATA[moser kostas]]></category> <category><![CDATA[permalinks]]></category> <category><![CDATA[search engine]]></category> <category><![CDATA[search engine optimization]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[settings]]></category> <category><![CDATA[wordpress seo]]></category> <category><![CDATA[εισαγωγή στο seo]]></category> <category><![CDATA[μέρος 2ο]]></category> <category><![CDATA[μόσερ κώστας]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=5526</guid> <description><![CDATA[Σήμερα θα δούμε πως μπορούμε να εντοπίσουμε τις σωστές λέξεις κλειδιά για το blog μας μερικές ρυθμίσεις που μπορούμε να κάνουμε στο Wordpress αμέσως μετά την εγκατάστασή του καθώς και με ένα παντοδύναμο εργαλείο που μας προσφέρει το Wordpress! Την εύκολη επιλογή για το πώς θέλουμε να εμφανίζονται τα urls των άρθρων μας.]]></description> <content:encoded><![CDATA[<h1>Εντοπίζοντας τις λέξεις κλειδιά που σας ενδιαφέρουν</h1><p>Οι λέξεις κλειδιά είναι ίσως το σημαντικότερο κομμάτι του on-page SEO. Η σωστή χρήση τους επηρεάζει την ιστοσελίδα σας στο μεγαλύτερο βαθμό από όλους τους άλλους παράγοντες που έχουμε ήδη αναφέρει. Πως όμως μπορεί να γίνει σωστή χρήση σε λέξεις κλειδιά αν δεν εντοπίσετε πρώτα τις σωστές!</p><p>Αφού έχετε καταγράψει όλες τις πιθανές λέξεις κλειδιά μπορείτε να τις προσθέσετε στο <a
title="Google Keyword Tool" href="https://adwords.google.com/select/KeywordToolExternal" target="_blank">Keyword Tool</a> της Google ώστε να δείτε τις σας προτείνει και να πάρετε νέες ιδέες. Επίσης μπορείτε να ψάξετε στο Google για αυτές τις λέξεις κλειδιά να σημειώσετε τα πρώτα αποτελέσματα και να περιηγηθείτε σε αυτές τις ιστοσελίδες που βγαίνουν πρώτες ώστε να πάρετε ιδέες και να δείτε πως λειτουργούν αυτές.</p><p>Πολλοί αγνοούν πλήρως αυτή τη διαδικασία ή την αναβάλουν για αργότερα. Η αναζήτηση των λέξεων κλειδιά είναι μια πάρα πολύ σημαντική διαδικασία και αποτελεί το θεμέλιο για την ιστοσελίδα σας. Μπορεί φυσικά να γίνει και σε μια ήδη υπάρχουσα ιστοσελίδα αλλά τότε τα πράγματα είναι πολύ πιο χρονοβόρα και καλό είναι εφόσον υπάρχει η δυνατότητα να γίνεται πριν από την κατασκευή της ιστοσελίδας.</p><p>Αφού λοιπόν σημειώσετε όλες τις λέξεις κλειδιά που σας ενδιαφέρουν στα επόμενα μέρη του tutorial θα δούμε πως θα κάνουμε πλήρη χρήση αυτών.</p><hr/><h1>Μερικές βασικές ρυθμίσεις στο WordPress</h1><p>Αφού συνδεθούμε στην διαχείριση του WordPress (todomainsas.gr/wp-admin) πάμε στο μενού «Ρυθμίσεις». Πατώντας στο «Γενικά» γράφουμε τον τίτλο του blog μας και μια μικρή περιγραφή για αυτό επιλέγουμε την σωστή ώρα και το πώς θέλουμε να εμφανίζεται η ημερομηνία και η ώρα στα άρθρα που δημιουργούμε.</p><blockquote><p><img
class="aligncenter size-full wp-image-5537" title="general-settings" src="http://static.greektuts.net/uploads/2011/11/general-settings1.jpg" alt="" width="539" height="392" /></p></blockquote><p
style="text-align: center;"><em>Προσοχή: Μην αλλάξετε τα πεδία URL εγκατάστασης και URL ισοτόπου!</em></p><hr/><h1>Μόνιμοι Σύνδεσμοι (Permalinks)</h1><p>Οι μόνιμοι σύνδεσμοι είναι ο τρόπος με τον οποίο θα εμφανίζονται τα διάφορα urls στο blog σας. Αυτό περιλαμβάνει τις διευθύνσεις των άρθρων σας, των σελίδων σας, των ετικετών (tags) κλπ.</p><p>Για να έχετε ένα SEO Optimized blog θα πρέπει να αλλάξετε αυτές τις ρυθμίσεις ώστε να εμφανίζονται λέξεις κλειδιά στα urls της ιστοσελίδας σας και όχι απλά αριθμοί. Ας δούμε όμως ποιες επιλογές μας δίνει το WordPress. Μεταβείτε στο μενού Ρυθμίσεις -&gt; Μόνιμοι Σύνδεσμοι:</p><blockquote><p><img
class="aligncenter size-full wp-image-5546" title="permalinks" src="http://static.greektuts.net/uploads/2011/11/permalinks.jpg" alt="" width="540" height="430" /></p></blockquote><p>Όπως βλέπετε το WordPress μας δίνει ήδη την δυνατότητα να χρησιμοποιήσουμε κάποιον από τους ήδη υπάρχοντες τρόπους εμφάνισης των urls (Προεπιλογή, Ημέρα και όνομα, Μήνας και όνομα, Αριθμός) ή να ορίσουμε εμείς πως θα εμφανίζονται τα urls των άρθρων μας. Αυτό γίνεται μέσω της χρήσης κάποιων έτοιμων shortcodes τα οποία είναι:</p><blockquote><p><strong>%year%</strong>: Το έτος δημιουργίας του άρθρου (πχ: 2012)<br
/> <strong>%monthnum%</strong>: Ο μήνας δημιουργίας του άρθρου (πχ: 1,&#8230;,12 )<br
/> <strong>%day%</strong>: Η ημέρα δημιουργίας του άρθρου (πχ: 1,…,31)</p></blockquote><p>%postname%: Ο τίτλος του άρθρου ή ότι έχουμε ορίσει εμείς στο πεδίο μόνιμος σύνδεσμος (post slug) μέσα στο κάθε άρθρο. Θα δούμε πιο αναλυτικά στην συνέχεια πως χρησιμοποιούμε το %postname% που είναι το πιο σημαντικό από SEO άποψη όσων αφορά τους μόνιμους συνδέσμους.</p><p><strong>%post_id%</strong>: Το ID του άρθρου που είναι μοναδικό για κάθε άρθρο. (πχ 423)</p><p><strong>%category%</strong>: Ο τίτλος της κατηγορίας που ανήκει το άρθρο (και πάλι εδώ εμφανίζεται ότι έχουμε ορίσει στο σύντομο όνομα της κατηγορίας).</p><p><strong>%author%</strong>: το όνομα του αρθρογράφου.</p><p>Περισσότερες επιλογές για τους μόνιμους συνδέσμους μπορείτε να βρείτε στο <a
title="WordPress Codex" href="http://codex.WordPress.org/Using_Permalinks">Codex του WordPress</a>.</p><p>Για να ορίσουμε λοιπόν τον τρόπο με τον οποίο θέλουμε να εμφανίζονται οι διευθύνσεις των άρθρων μας αρκεί να συμπληρώσουμε στο πεδίο Προσαρμοσμένη δομή αυτό που επιθυμούμε. Για να είναι SEO Optimized τα urls σας θα πρέπει οπωσδήποτε να χρησιμοποιήσετε το %postname%.</p><p>Βασικοί κανόνες που ακολουθούμε πάντα:</p><ol><li>Πρέπει πάντα να ξεκινάμε με μια κάθετο /</li><li>Χωρίζουμε τα shortcodes μεταξύ τους με την χρήση των συμβόλων: / &#8211; _</li><li>Μπορούμε να προσθέσουμε οτιδήποτε άλλο θέλουμε όπως για παράδειγμα να βάλουμε στο τέλος .html ή .php</li></ol><p>Ας δούμε μερικά παραδείγματα:</p><p>Υποθέτουμε πως έχουμε ένα άρθρο τίτλο «Το πρώτο μου ποστ» με μόνιμο σύνδεσμο (post slug) to-proto-moy-post, ανήκει στην κατηγορία «Γενικά» που έχει σαν category-slug το genika. Το άρθρο δημιουργήθηκε στις 24 / 10 / 2011 και έχει id το νούμερο 4567. Ας παίξουμε τώρα λίγο με μερικούς πιθανούς τρόπους που θα μπορούσε να εμφανίζεται το url αυτού του άρθρου (θυμίζουμε ξανά! ΠΑΝΤΑ πρέπει να περιλαμβάνετε το %postname% για να είναι το url SEO Optimized)</p><p>/%postname% -&gt; http://todomain.gr/to-proto-moy-post</p><p>/%postname%-%post_id% -&gt; http://todomain.gr/to-proto-moy-post-4567</p><p>/%category%/%postname%.html -&gt; http://todomain.gr/genika/to-proto-moy-post</p><p>/%year%/%monthnum%/%postname%-%post_id%.html -&gt; http://todomain.gr/2011/10/to-proto-moy-post-4567.html</p><p>Όπως βλέπετε οι επιλογές είναι πάρα πολλές. Από άποψη SEO το καλύτερο είναι το /%category%/%postname% ώστε να περιλαμβάνονται λέξεις κλειδιά πάντα.</p><p>Πως ορίζουμε τα σύντομα ονόματα των άρθρων και των κατηγοριών</p><p>Στην επεξεργασία του άρθρου θα παρατηρήσετε που κάτω από των τίτλο μας δίνει το WordPress την επιλογή να ορίσουμε εμείς τι θα εμφανίζεται σαν %postname%</p><blockquote><p><img
class="aligncenter size-full wp-image-5547" title="slug1" src="http://static.greektuts.net/uploads/2011/11/slug1.jpg" alt="" width="540" height="123" /></p></blockquote><p>Πατώντας το κουμπάκι Επεξεργασία μπορούμε να γράψουμε ότι θέλουμε και μετά να το αποθηκεύσουμε, και αυτός θα είναι πλέον ο μόνιμος σύνδεσμος για το άρθρο.</p><blockquote><p><img
class="aligncenter size-full wp-image-5548" title="slug2" src="http://static.greektuts.net/uploads/2011/11/slug2.jpg" alt="" width="540" height="123" /></p></blockquote><p>Στις κατηγορίες ισχύει το ίδιο και θα εμφανίζεται όταν καλείται το %category% ότι έχουμε γράψει το πεδίο σύντομο όνομα.</p><blockquote><p><img
class="aligncenter size-full wp-image-5549" title="category" src="http://static.greektuts.net/uploads/2011/11/category.jpg" alt="" width="540" height="183" /></p></blockquote><p>Το θέμα των permalinks σε μια ιστοσελίδα είναι πάρα πολύ σημαντικό και τα SEO Optimized url μπορούν να βοηθήσουν πάρα πολύ στην καλύτερη κατάταξή σας στις μηχανές αναζήτησης. Πάντα να βάζετε μια λέξη κλειδί στον μόνιμο σύνδεσμο του άρθρου σας και να προσπαθείτε να δίνετε στον χρήστη μια σύντομη εικόνα του τι πρόκειται να διαβάσει. Για παράδειγμα αν το άρθρο σας έχει τίτλο «Πώς να διαγράψετε το προφίλ σας στο Facebook» μπορείτε να χρησιμοποιήσετε σαν post slug το diagrafi-profil-facebook</p><p><strong>Tip</strong>: Αποφεύγετε να χρησιμοποιείτε προθέσεις, άρθρα, επιρρήματα στο post slug, δηλαδή, λέξεις όπως το «και», «το», «οι», «δεν», «για» κλπ καλό είναι να τις παραλείπετε.</p><p>Σήμερα είδαμε μερικές από τις πιο γνωστές δυνατότητες του WordPress που αφορούν το SEO (τη δύναμη των permalinks που μας την προσφέρει απλόχερα χωρίς την χρήση πολύπλοκων γραμμών κώδικα μέσα στο αρχείο .htaccess). Στο επόμενο μέρος θα μιλήσουμε για μια άλλη καταπληκτική λειτουργία του WordPress, τα Ping Services καθώς και την δημιουργία Sitemaps.</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordpress-seo-part-2-keywords-settings-permalinks/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>GreekTuts Sessions</title><link>http://greektuts.net/greektuts-sessions-description/</link> <comments>http://greektuts.net/greektuts-sessions-description/#comments</comments> <pubDate>Fri, 24 Jun 2011 10:12:56 +0000</pubDate> <dc:creator>Pantso</dc:creator> <category><![CDATA[+]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[Illustrator]]></category> <category><![CDATA[Internet]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[Photoshop]]></category> <category><![CDATA[SEO]]></category> <category><![CDATA[Web Building]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[front end design]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[greektuts sessions]]></category> <category><![CDATA[online lessons]]></category> <category><![CDATA[private lessons]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[sessions]]></category> <category><![CDATA[web design lessons]]></category> <category><![CDATA[Μαθήματα online]]></category> <category><![CDATA[μαθήματα web design]]></category> <category><![CDATA[μαθήματα υπολογιστών]]></category> <category><![CDATA[σεμινάρια υπολογιστών]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=5091</guid> <description><![CDATA[Μετά από 6 μήνες προετοιμασίας, βρισκόμαστε επιτέλους στην ευχάριστη θέση να ανακοινώσουμε την νέα μας προσφορά. Σε μια σειρά προσωπικών Online Εκπαίδευσεων που θα ξεκινήσει τον Σεπτέμβριο, μπορείτε να μπείτε και εσείς στον κόσμο του Web Design και να μάθετε πως να δημιουργείτε ιστοσελίδες σαν επαγγελματίας. Το μόνο εργαλείο που θα χρειαστείτε είναι ο browser σας και όρεξη για μάθηση. Διαβάστε περισσότερα]]></description> <content:encoded><![CDATA[<p>Βρισκόμαστε σε μια εποχή που πλέον κατακλύζεται από ιστοσελίδες και web designers, και όπου πολλοί νέοι επιλέγουν αυτόν τον τομέα για τις σπουδές τους και την επαγγελματική τους κατάρτιση. Υπάρχουν επίσης πολλές περιπτώσεις στις οποίες η κατασκευή μιας ιστοσελίδας παρεξηγείται σαν έννοια, και το τελικό αποτέλεσμα δεν είναι το αναμενόμενο.</p><p>Σε μια προσπάθεια να κάνουμε πιο κατανοητά και διακριτά τα βήματα που χρειάζεται να ακολουθηθούν, αλλά και τις γνώσεις που χρειάζονται, για την δημιουργία μιας ιστοσελίδας, από την σκέψη μέχρι την υλοποίηση και την συντήρηση, προσφέρουμε σε όλους τους επισκέπτες μας μια σειρά από προσωπικούς online εκπαιδευτικούς οδηγούς που θα ξεκινήσει τον Σεπτέμβριο.</p><p>Αν ενδιαφέρεστε να συμμετάσχετε στις εκπαιδεύσεις και να μάθετε και εσείς πως να δημιουργείτε ιστοσελίδες με τον σωστό τρόπο, διαβάστε περισσότερες πληροφορίες παρακάτω.</p><hr
/><blockquote><p><a
href="#form"><img
class="size-full wp-image-5096 aligncenter" title="gts-big2" src="http://static.greektuts.net/uploads3/2011/06/gts-big2.png" alt="" width="680" height="450" /></a></p></blockquote><hr
/><h1>Τι είναι τα GreekTuts Sessions</h1><p>Τα GreekTuts Sessions είναι μια σειρά από <strong>προσωπικούς online εκπαιδευτικούς οδηγούς</strong> που θα ξεκινήσουν από τον Σεπτέμβριο. H διεξαγωγή αυτών των οδηγών θα γίνει μέσω μιας online πλατφόρμας e-learning, που σας προσφέρει δυνατότητα αλληλεπίδρασης με τον παρουσιαστή σας. Οι εκπαιδεύσεις είναι <strong>προσωπικές</strong>, πράγμα που σημαίνει ότι έχετε την δυνατότητα να μάθετε όλα όσα χρειάζεστε από το σπίτι σας, τις ώρες και μέρες που σας βολέυουν.</p><p>Κατά την παρουσίαση, θα μπορείτε να δείτε σε <strong>video</strong> την εκπαίδευση και να κάνετε ερωτήσεις όσο συχνά χρειαστεί. Το μόνο εργαλείο που θα χρειαστείτε είναι <strong>ο αγαπημένος σας browser</strong>, και <strong>πολύ όρεξη για μάθηση</strong>.</p><p>Επίσης, μετά την ολοκλήρωση των εκπαιδεύσεων, θα μπορείτε να έχετε πλήρη πρόσβαση στα video αλλά και σε όλο το εκπαιδευτικό υλικό, με τους κωδικούς σας <strong>για πάντα</strong>.</p><hr
/><h1>Πακέτα Εκπαιδεύσεων</h1><p>Σας προσφέρουμε 2 διαφορετικά πακέτα συμμετοχής στις εκπαιδεύσεις, για να διαλέξετε αυτό που σας συμφαίρει και σας βολέυει.</p><ul><li><strong>Πλήρες Πακέτο &#8211; Για παρακολούθηση όλης της σειράς </strong></li><li><strong>Συγκεκριμένο Κεφάλαιο &#8211; Για παρακολούθηση ενός συγκεκριμένου κεφαλαίου</strong></li></ul><p><em>* Οι τιμές των 2 πακέτων θα ανακοινωθούν σύντομα.</em></p><hr
/><h1>Περιεχόμενα Online Εκπαιδεύσης</h1><p><strong>Κεφάλαιο 1 &#8211; HTML &amp; CSS</strong></p><p>Σε αυτό το κεφάλαιο θα καλύψουμε όλες τις βασικές έννοιες για την γλώσσας προγραμματισμού του internet, την HTML, και θα δούμε όλα όσα χρειάζεται για το πώς μπορούμε να δώσουμε μορφοποίηση και στύλ στις σελίδες μας, με την χρήση των CSS.</p><p><strong>Κεφάλαιο 2 &#8211; Javascript &amp; jQuery</strong></p><p>Σε αυτό το κεφάλαιο θα καλύψουμε όλες τις βασικές λειτουργίες για την Javascript και θα δούμε πως μπορούμε έυκολα και γρήγορα να κάνουμε το περιεχόμενο της ιστοσελίδας μας πιο ενδιαφέρον και διαδραστικό για τον χρήστη. Επίσης θα δούμε τα πάντα για την διάσημη βιβλιοθήκη jQuery</p><p><strong>Κεφάλαιο 3 &#8211; Front End Design</strong></p><p>Σε αυτό το κεφάλαιο θα δούμε όλες τις βασικές αρχές που πρέπει να ακολουθούμε κατά την διάρκεια σχεδιασμού μιας ιστοσελίδας, και ποιά είναι τα λάθη που πρέπει να αποφέυγουμε. Επίσης θα δούμε και θα αναλύσουμε ποιά είναι τα διάφορα styles και trends που ακολουθούνται από designers σε όλο τον κόσμο.</p><p><strong>Κεφάλαιο 4 &#8211; WordPress</strong></p><p>Σε αυτό το κεφάλαιο θα μάθουμε για πάντα για το WordPress. Από το πως θα στήσουμε ένα δικό μας απλό blog, μέχρι πως θα δημιουργήσουμε μια κομψή και περίπλοκη ιστοσελίδα χρησιμοποιώντας το WordPress. Τέλος θα δούμε την δομή ενός θέματος και ενός plugin και θα μάθουμε τα βασικά για την δημιουργία του δικού σας θέματος και του δικού σας Plugin.</p><p><strong>Κεφάλαιο 5 &#8211; SEO &amp; Promotion</strong></p><p>Σε αυτό το κεφάλαιο θα μιλήσουμε για τις μηχανές αναζήτησεις και για το πώς μπορούμε να ανεβάσουμε την ιστοσελίδα μας ψηλά στις λίστες αποτελεσμάτων. Θα δούμε διάφορες τεχνικές προαγωγής της σελίδας μας, και όλα όσα πρέπει να αποφύγουμε κατά την προσπάθεια του Search Engine Optimization.</p><hr
/><h1 id="form"><strong>Φόρμα Εκδήλωσης Ενδιαφέροντος</strong></h1><p>Μπορείτε να συμπληρώσετε την φόρμα εκδήλωσης ενδιαφέροντος που ακολουθεί, και εμείς θα επικοινωνήσουμε μαζί σας για να συζητήσουμε τις μέρες και τις ώρες που θα γίνονται οι εκπαιδεύσεις, αλλά και να σας λύσουμε τυχόν απορίες που μπορεί να έχετε για το πρόγραμμα των εκπαιδεύσεων.</p><blockquote><p><strong>[contact-form-7]<br
/> </strong></p></blockquote> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/greektuts-sessions-description/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>WordCamp Greece 2011 &#8211; Οι Παρουσιάσεις</title><link>http://greektuts.net/wordcamp-greece-2011-presentations/</link> <comments>http://greektuts.net/wordcamp-greece-2011-presentations/#comments</comments> <pubDate>Wed, 08 Jun 2011 07:20:43 +0000</pubDate> <dc:creator>Pantso</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[presentations]]></category> <category><![CDATA[Wordcamp]]></category> <category><![CDATA[wordcamp 2011]]></category> <category><![CDATA[wordcamp greece]]></category> <category><![CDATA[wordcamp greece 2011]]></category> <category><![CDATA[διοργανώσεις]]></category> <category><![CDATA[Νέα]]></category> <category><![CDATA[παρουσιαάσεις]]></category> <category><![CDATA[παρουσιάσεις]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=5056</guid> <description><![CDATA[To προηγούμενο Σάββατο, πραγματοποιήθηκε με επιτυχία το 2ο WordCamp Greece στην Θεσσαλονίκη, με πολύ κόσμο και ενδιαφέρουσες παρουσιάσεις. Διαβάστε κάποιες από τις παρουσιάσεις, και πάρτε μια γεύση από το τι συζητήθηκε, ακόμα και αν δεν μπορέσατε να παρευρεθείτε στο WordCamp.]]></description> <content:encoded><![CDATA[<div
id="__ss_8242948" style="width: 680px;"><strong
style="display: block; margin: 12px 0 4px;"><a
title="Word camp microsoft web platform" href="http://www.slideshare.net/GreekTuts/word-camp-microsoft-web-platform">Word camp microsoft web platform</a></strong><object
id="__sse8242948" width="680" height="525"><param
name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wordcampmicrosoftwebplatform-110608015722-phpapp02&amp;stripped_title=word-camp-microsoft-web-platform&amp;userName=GreekTuts" /><param
name="allowFullScreen" value="true" /><param
name="allowScriptAccess" value="always" /><embed
type="application/x-shockwave-flash" width="680" height="525" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wordcampmicrosoftwebplatform-110608015722-phpapp02&amp;stripped_title=word-camp-microsoft-web-platform&amp;userName=GreekTuts" name="__sse8242948" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><div
style="padding: 5px 0 12px;">View more <a
href="http://www.slideshare.net/">presentations</a> from <a
href="http://www.slideshare.net/GreekTuts">GreekTuts Ελληνικά Βοηθήματα</a>.</div></div><hr
/><div
id="__ss_8242964" style="width: 680px;"><strong
style="display: block; margin: 12px 0 4px;"><a
title="Gerasimos tsiamalos" href="http://www.slideshare.net/GreekTuts/gerasimos-tsiamalos-8242964">Gerasimos tsiamalos</a></strong><object
id="__sse8242964" width="680" height="525"><param
name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gerasimostsiamalos-110608015939-phpapp01&amp;stripped_title=gerasimos-tsiamalos-8242964&amp;userName=GreekTuts" /><param
name="allowFullScreen" value="true" /><param
name="allowScriptAccess" value="always" /><embed
type="application/x-shockwave-flash" width="680" height="525" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=gerasimostsiamalos-110608015939-phpapp01&amp;stripped_title=gerasimos-tsiamalos-8242964&amp;userName=GreekTuts" name="__sse8242964" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><div
style="padding: 5px 0 12px;">View more <a
href="http://www.slideshare.net/">presentations</a> from <a
href="http://www.slideshare.net/GreekTuts">GreekTuts Ελληνικά Βοηθήματα</a>.</div></div><hr
/><div
id="__ss_8242958" style="width: 680px;"><strong
style="display: block; margin: 12px 0 4px;"><a
title="Buddy press" href="http://www.slideshare.net/GreekTuts/buddy-press">Buddy press</a></strong><object
id="__sse8242958" width="680" height="525"><param
name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=buddypress-110608015911-phpapp01&amp;stripped_title=buddy-press&amp;userName=GreekTuts" /><param
name="allowFullScreen" value="true" /><param
name="allowScriptAccess" value="always" /><embed
type="application/x-shockwave-flash" width="680" height="525" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=buddypress-110608015911-phpapp01&amp;stripped_title=buddy-press&amp;userName=GreekTuts" name="__sse8242958" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><div
style="padding: 5px 0 12px;">View more <a
href="http://www.slideshare.net/">presentations</a> from <a
href="http://www.slideshare.net/GreekTuts">GreekTuts Ελληνικά Βοηθήματα</a>.</div></div><hr
/><div
id="__ss_8242954" style="width: 680px;"><strong
style="display: block; margin: 12px 0 4px;"><a
title="Apas" href="http://www.slideshare.net/GreekTuts/apas">Apas</a></strong><object
id="__sse8242954" width="680" height="525"><param
name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=apas-110608015815-phpapp01&amp;stripped_title=apas&amp;userName=GreekTuts" /><param
name="allowFullScreen" value="true" /><param
name="allowScriptAccess" value="always" /><embed
type="application/x-shockwave-flash" width="680" height="525" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=apas-110608015815-phpapp01&amp;stripped_title=apas&amp;userName=GreekTuts" name="__sse8242954" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><div
style="padding: 5px 0 12px;">View more <a
href="http://www.slideshare.net/">presentations</a> from <a
href="http://www.slideshare.net/GreekTuts">GreekTuts Ελληνικά Βοηθήματα</a>.</div></div><hr
/><div
style="width:680px" id="__ss_8245859"> <strong
style="display:block;margin:12px 0 4px"><a
href="http://www.slideshare.net/klou/wordpress-and-typography" title="Wordpress and typography">WordPress and typography</a></strong> <iframe
src="http://www.slideshare.net/slideshow/embed_code/8245859" width="680" height="525" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><div
style="padding:5px 0 12px"> View more <a
href="http://www.slideshare.net/">presentations</a> from <a
href="http://www.slideshare.net/klou">klou</a></div></p></div><hr
/><div
id="__ss_8243117" style="width: 680px;"><strong
style="display: block; margin: 12px 0 4px;"><a
title="Word camp nextweb" href="http://www.slideshare.net/GreekTuts/word-camp-nextweb-8243117">Word camp nextweb</a></strong><object
id="__sse8243117" width="680" height="525"><param
name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wordcampnextweb-110608021415-phpapp01&amp;stripped_title=word-camp-nextweb-8243117&amp;userName=GreekTuts" /><param
name="allowFullScreen" value="true" /><param
name="allowScriptAccess" value="always" /><embed
type="application/x-shockwave-flash" width="680" height="525" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wordcampnextweb-110608021415-phpapp01&amp;stripped_title=word-camp-nextweb-8243117&amp;userName=GreekTuts" name="__sse8243117" allowscriptaccess="always" allowfullscreen="true"></embed></object></p><div
style="padding: 5px 0 12px;">View more <a
href="http://www.slideshare.net/">presentations</a> from <a
href="http://www.slideshare.net/GreekTuts">GreekTuts Ελληνικά Βοηθήματα</a>.</div></div><hr
/><div
style="width:680px" id="__ss_8243408"> <strong
style="display:block;margin:12px 0 4px"><a
href="http://www.slideshare.net/sugarenia/wordcamp-greece-2011" title="Wordcamp Greece 2011">Wordcamp Greece 2011</a></strong> <iframe
src="http://www.slideshare.net/slideshow/embed_code/8243408" width="680" height="525" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><div
style="padding:5px 0 12px"> View more <a
href="http://www.slideshare.net/">presentations</a> from <a
href="http://www.slideshare.net/sugarenia">Zaharenia Atzitzikaki</a></div></p></div><hr/><div
style="width:680px" id="__ss_8248136"> <strong
style="display:block;margin:12px 0 4px"><a
href="http://www.slideshare.net/dkalo/blogging-101-8248136" title="Blogging 101">Blogging 101</a></strong> <iframe
src="http://www.slideshare.net/slideshow/embed_code/8248136" width="680" height="525" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><div
style="padding:5px 0 12px"> View more <a
href="http://www.slideshare.net/">presentations</a> from <a
href="http://www.slideshare.net/dkalo">Dimitris Kalogeropoulos</a></div></p></div> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordcamp-greece-2011-presentations/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>WordCamp Greece 2011</title><link>http://greektuts.net/wordcamp-greece-2011/</link> <comments>http://greektuts.net/wordcamp-greece-2011/#comments</comments> <pubDate>Thu, 05 May 2011 06:27:22 +0000</pubDate> <dc:creator>Pantso</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[Διοργανώσεις]]></category> <category><![CDATA[Wordcamp]]></category> <category><![CDATA[wordcamp 2011]]></category> <category><![CDATA[wordcamp greece]]></category> <category><![CDATA[wordcamp greece 2011]]></category> <category><![CDATA[διοργανώσεις]]></category> <category><![CDATA[Νέα]]></category> <category><![CDATA[παρουσιαάσεις]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=4983</guid> <description><![CDATA[Τα WordCamps είναι Open events στα οποία μπορούν να παρεβρεθούν ελεύθερα όλοι όσοι ασχολούνται με το WordPress. Η συζήτηση και οι παρουσιάσεις κυμαίνονται από απλά θέματα όπως το τι είναι και πως χρησιμοποιείται το WordPress, έως πιο σύνθετα όπως το Developing, το Theming και τα Theme Framework, το Search Engine Optimization του WordPress, τρόπους να κάνουμε το WordPress πιο γρήγορο και πολλά άλλα.]]></description> <content:encoded><![CDATA[<h1>Σχετικά</h1><p>To Wordcamp.gr είναι η ελληνική προσπάθεια για την  δημιουργία WordCamp events σε όλη την Ελλάδα. WordPress, τρόπους να κάνουμε το WordPress πιο γρήγορο και πολλά άλλα. Καθώς η Open Source κοινότητα συνεχώς αναπτύσσει νέα plugins, σχεδιάζει  νέα themes και υλοποιεί υπηρεσίες με βάση το WordPress, θα βρισκόμαστε  τακτικά στο Wordcamp για να προσεγγίζουμε τα θέματα αυτά, μαθαίνοντας ο  ένας από τον άλλον. To WordCamp Greece 2011 θα γίνει στις <strong>4 Ιουνίου 2011</strong> στην Θεσσαλονίκη.</p><h3>Πως λειτουργεί</h3><p>Αξιόλογοι ομιλητές από το χώρο του Web, παρουσιάζουν και συζητούν  θέματα τα οποία αφορούν το WordPress. Σκοπός μας είναι οι παρουσιάσεις  να αποτελέσουν το έναυσμα για να ξεκινήσει μια όμορφη συζήτηση μεταξύ  μας ώστε να γνωριστούμε και να ανταλλάξουμε ιδέες ή ακόμη και να  παρουσιάσουμε δικά μας Projects βασισμένα στο WordPress.</p><h3>Εγώ μπορώ να παρουσιάσω;</h3><p>Το WordCamp βασίζεται σε εθελοντές και χορηγούς. Εθελοντές είναι και  αυτοί που θέλουν να κάνουν μια παρουσίαση για ένα θέμα σχετικό με το  WordPress ή να παρουσιάσουν ένα project βασισμένο σε WordPress. Αν έχετε  κάτι ενδιαφέρον που θέλετε να παρουσιάσετε, θα χαρούμε να γνωριστούμε  και να το συζητήσουμε!</p><h1>Τοποθεσία</h1><p>Το <a
href="http://www.royal-hotel.gr/"><strong>Royal Hotel</strong></a>,   βρίσκεται  στην  κορυφή  ενός  λόφου, στο κέντρο ενός καταπράσινου  φυσικού περιβάλλοντος, με μαγευτική θέα του Θερμαϊκού κόλπου και της  πόλης της Θεσσαλονίκης. Μόλις 16 χιλιόμετρα από το κέντρο της πόλης στην  περιοχή αεροδρομίου το Royal Hotel δημιουργεί μοναδικές αναμνήσεις στον  επισκέπτη.</p><h1>Παρουσιάσεις</h1><p>Δείτε κάποια από τα θέματα που θα συζητηθούν κατά την διάρκεια του WordCamp Greece 2011. Το πρόγραμμα ανανεώνεται συνεχώς με νέες παρουσιάσεις.</p><p><strong>WordPress frameworks</strong> &#8211; Γεράσιμος Τσιάμαλος</p><p><strong>WordPress as an advanced CMS</strong> &#8211; Βασίλης Μαστοροστέργιος</p><p><strong>Not just another WordPress blog</strong> &#8211; Ζαχαρένια Ατζιτζικάκη</p><p><strong>Αξιολογώντας ένα WordPress theme</strong> &#8211; Απόστολος Παπαδόπουλος</p><p><strong>Typography &amp; WordPress</strong> &#8211; Θάνος Παπαβασιλείου</p><h1>Περισσότερα</h1><p>Μπορείτε να μάθετε περισσότερα για το WordCamp Greece 2011 στην <a
title="WordCamp Greece 2011" href="http://2011.wordcamp.gr/" target="_blank">επίσημη ιστοσελίδα της διοργάνωσης</a></p><p>&nbsp;</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordcamp-greece-2011/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Κάντε το WordPress, μαγαζί</title><link>http://greektuts.net/wordpress-ecommerce-plugins/</link> <comments>http://greektuts.net/wordpress-ecommerce-plugins/#comments</comments> <pubDate>Fri, 15 Apr 2011 08:02:11 +0000</pubDate> <dc:creator>Pantso</dc:creator> <category><![CDATA[Plugins-Πρόσθετα]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[e-commerce]]></category> <category><![CDATA[e-shop]]></category> <category><![CDATA[eshop]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[shop]]></category> <category><![CDATA[word press]]></category> <category><![CDATA[wordpress eshop]]></category> <category><![CDATA[wordpress plugin]]></category> <category><![CDATA[wordpress plugins]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=4889</guid> <description><![CDATA[Το WordPress είναι πασίγνωστο για την ευελιξία του στην χρήση και την εφαρμογή του. Με αυτό μπορούμε να δημιουργήσουμε μια από απλή πλατφόρμα για blogs μέχρι πολύ περίπλοκα CMS. Σε αυτό τον οδηγό θα δούμε 6 πολύ χρήσιμα Plugins για το WordPress που θα μας βοηθήσουν να μετατρέψουμε την ιστοσελίδα μας σε διαχειρίσιμο μαγαζί/κατάστημα. ]]></description> <content:encoded><![CDATA[<h1>eShop</h1><p>Το <strong>eShop</strong> είναι μια ολοκληρωμένη λύση για την δημιουργία του δικού μας ηλερκτρονικού καταστήματος. Επιτρέπει την χρήση σελίδων και posts για την δημιουργία προϊόντων, υποστηρίζει καλάθι αγορών, λίστες προϊόντων, στατιστικά στοιχεία για τις πωλήσεις και τα προϊόντα μας, και πλήρη επεξεργασία μεθόδων πληρωμής και επιβεβαίωσης.</p><p><a
href="http://wordpress.org/extend/plugins/eshop/" target="_blank">Κατεβάστε το plugin</a></p><hr
/><h1>WP e-Commerce</h1><p>Ίσως το καλύτερο Plugin της λίστας μας. Όμορφο, εύκολο στην χρήση και απίστευτα λειτουργικό. Με λίγα μόλις κλικ μπορούμε να χτίσουμε το δικό μας κατάστημα, και να το διαχειριστούμε με απόλυτη ευκολία και ασφάλεια.</p><p><a
href="http://www.instinct.co.nz/e-commerce/" target="_blank">Κατεβάστε το plugin</a></p><hr
/><h1>WP Live-Shopping</h1><p>Το <strong>Live-Shopping</strong> είναι ένα plugin που προσθέτει ένα widget στην sidebar μας και μας επιτρέπει να παρουσιάσουμε προϊόντα σχετικά με την κάθε σελίδα/post και να επιτρέψουμε στον χρήστη να επισκεφτεί την σελίδα προιόντος.</p><p><a
href="http://www.liveshoppingwidgets.de" target="_blank">Κατεβάστε το plugin</a></p><hr
/><h1>WP Auctions</h1><p>Το <strong>WP-Auctions</strong> είναι το καλύτερο Plugin για την δημιουργία δημοπρασιών στο WordPress. Επιτρέπει την δημιουργία όσων δημοπρασιών θέλουμε, με όσες φωτογραφίες θέλουμε για κάθε προϊόν, με κουμπία όπως &#8220;Make Offer&#8221; και &#8220;Buy Now&#8221; και τέλος διαχειρίζεται την όλη διαδικασία πληρωμής.</p><p><a
href="http://www.wpauctions.com/download/" target="_blank">Κατεβάστε το plugin</a></p><hr
/><h1>ArtPal</h1><p>To <strong>ArtPal</strong> είναι ένα γρήγορο και απλό plugin που απλά συνδέοντας τον PayPal λογαριασμό μας, μπορεί να διαχειριστεί πωλήσεις σε πραγματικό χρόνο, με αποθήκη και εμπόρευμα,</p><p><a
href="http://www.freerobby.com/artpal/" target="_blank">Κατεβάστε το plugin</a></p><hr
/><h1>Are PayPal</h1><p>Τέλος το <strong>Are PayPal</strong> είναι ένα Plugin σχεδιασμένο για πληρωμές αποκλειστικά μέσω PayPal (όπως προφανώς λέει και το όνομα) , και με το οποίο μπορούμε να κάνουμε περιεχόμενο στην ιστοσελίδα μας να είναι κρυφό μέχρι να γίνει πληρωμή, και να το εμφανίζει μόνο σε χρήστες που έχουν κάνει login και είναι συνδρομητές. Κατάλληλο για δημιουργία ιστοσελίδων περιεχομένου με συνδρομές.</p><p><a
href="http://arepaypal.ehibou.com/" target="_blank">Κατεβάστε το plugin</a></p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordpress-ecommerce-plugins/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>WordPress Plug-ins: Από τη θεωρία στην πράξη (μέρος 2)</title><link>http://greektuts.net/wordpress-plugins-from-threory-to-reality-part2/</link> <comments>http://greektuts.net/wordpress-plugins-from-threory-to-reality-part2/#comments</comments> <pubDate>Wed, 04 Aug 2010 07:00:15 +0000</pubDate> <dc:creator>krap</dc:creator> <category><![CDATA[Plugins-Πρόσθετα]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[krap]]></category> <category><![CDATA[newsfilter]]></category> <category><![CDATA[part1]]></category> <category><![CDATA[plugins-πρόσθετα]]></category> <category><![CDATA[press]]></category> <category><![CDATA[theory]]></category> <category><![CDATA[word]]></category> <category><![CDATA[WordPress Plug-ins: Από τη θεωρία στην πράξη (μέρος 1)]]></category> <category><![CDATA[wordpress plugin]]></category> <category><![CDATA[wordpress plugin creation]]></category> <category><![CDATA[wordpress plugin from theory to reality]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=4149</guid> <description><![CDATA[Σε αυτό το δεύτερο και τελευταίο μέρος της σειράς «WordPress Plug-ins: Από τη θεωρία στην πράξη» θα εμπλουτίσουμε τον σκελετό που κατασκευάσαμε στο προηγούμενο άρθρο μας ώστε να επιτυγχάνει την λειτουργικότητα που αναζητούμε.]]></description> <content:encoded><![CDATA[<p>Πριν ξεκινήσουμε ας θυμηθούμε τα σημαντικότερα σημεία του εγχειρήματός μας όπως τα περιγράψαμε στο πρώτο μέρος της σειράς μας.</p><h1><strong>Το πρόβλημα</strong></h1><p>Επιθυμούμε να κατασκευάσουμε ένα WordPress Plug-in το οποίο θα προσθέτει έναν αύξοντα αριθμό μπροστά από τα μη αριθμημένα ψευδώνυμα των  συγγραφέων σχολίων του blog μας.</p><h1><strong>Γιατί να μην πειράξω το </strong><strong>theme;</strong></h1><p>Ο έμπειρος αναγνώστης μπορεί να αναρωτηθεί: «Μα τα WordPress themes δεν είναι και αυτά ένα σύνολο αρχείων σε κώδικα php, css, html, κλπ.; Δεν θα μπορούσαν να επέμβουν εκεί και να τροποποιήσουν τον τρόπο παρουσίασης των σχολίων;». Και θα είχε δίκαιο! Θα μπορούσαμε.</p><p>Ωστόσο…</p><ul><li>Το να μελετήσουμε υπάρχον κώδικα και να ανακαλύψουμε τι πρέπει να αλλάξει ώστε να έχουμε το επιθυμητό αποτέλεσμα είναι σαφώς δυσκολότερο από το να δημιουργήσουμε ένα μικρό κομμάτι κώδικα από το μηδέν.</li><li>Εν γένει, όταν κανείς πειράζει υπάρχοντα κώδικα, επιβάλλεται μετά την αλλαγή να εκτελέσει εξαντλητικούς ελέγχους για να σιγουρευτεί ότι όλα λειτουργούν όπως πριν, δηλαδή ότι οι αλλαγές δεν επηρέασαν τον προϋπάρχοντα κώδικα.</li></ul><h1><strong>Ο στόχος μας με εικόνες</strong></h1><p>Στην παρούσα φάση, τα σχόλια στα άρθρα μας έχουν την παρακάτω μορφή</p><blockquote><p
style="text-align: center;"><img
class="size-full wp-image-4150 aligncenter" src="http://static.greektuts.net/uploads3/2010/08/noNumbers1.png" alt="" width="600" height="550" /></p></blockquote><p>Θα θέλαμε να προσθέσουμε έναν αύξοντα αριθμό μπροστά από κάθε ψευδώνυμο χρήστη. Το αποτέλεσμα δηλαδή του plug-in μας θα πρέπει να κάνει το τμήμα των σχολίων να φαίνεται ως εξής:</p><blockquote><p
style="text-align: center;"><img
class="size-full wp-image-4151 aligncenter" src="http://static.greektuts.net/uploads3/2010/08/withNumbers1.png" alt="" width="600" height="581" /></p></blockquote><h1><strong>Ο σκελετός που έχουμε κατασκευάσει εμπλουτισμένος</strong></h1><pre name="code" class="php">
&lt;?php
/*
Plugin Name: numberedAuthorsComments
Plugin URI: http://www.newsfilter.gr
Version: v0.5
Author: &lt;a href=”http://krap.gr/”&gt;Apostolos Kritikos&lt;/a&gt;
Description: This is my first plugin. Please don't be too hard on me if it crushes...
*/
if(!class_exists('numberedAuthorsComments')) {
class numberedAuthorsComments {
var $i;
function numberedAuthorsComments() { //κατασκευαστής
$this-&gt;i = 0;
}
function addNumber($author='') {
$this-&gt;i++;
return "(".$this-&gt;i.") ".$author;
}
}
} //τέλος κλάσης
if(class_exists('numberedAuthorsComments')) {
$myplugin = new numberedAuthorsComments();
}
if(isset($myplugin))  {
//Actions
//Filters
add_filter('get_comment_author',array(&amp;$myplugin, 'addNumber'));
}
?&gt;
</pre><p>Αυτός είναι ο κώδικας του plug-in ολοκληρωμένος. Όπως μπορείτε να δείτε η διαφοροποίησή του από τον σκελετό που είχαμε κατασκευάσει στο προηγούμενο άρθρο μας είναι μόλις της τάξεως των 5 γραμμών. Αυτό δηλώνει ακριβώς την δύναμη και συνάμα την απλότητα της δημιουργίας WordPress plug-ins. Ας δούμε όμως αναλυτικά τη λειτουργικότητα των γραμμών κώδικα που προσθέσαμε.</p><pre name="code" class="php">
var $i;
</pre><p>Πρόκειται για μια μεταβλητή που θα αποτελέσει τον απαριθμητή των σχολίων μας. Σε αυτή τη μεταβλητή θα κρατείται ο τελευταίος αριθμός που δόθηκε σε σχόλιο ώστε στο επόμενο σχόλιο, να δοθεί ο επόμενος αριθμός. Στη θεωρία του αντικειμενοστραφούς προγραμματισμού η συγκεκριμένη μεταβλητή ονομάζεται χαρακτηριστικό της κλάσης.</p><pre name="code" class="php">
$this-&gt;i = 0;
</pre><p>Ως χαρακτηριστικό της κλάσης numberedAuthorsComments, η $i οφείλει να αρχικοποιηθεί στον κατασκευαστή (ή δημιουργό) της κλάσης. Αυτό συμβαίνει με την παραπάνω εντολή (η σύνταξη πρέπει να γίνει με αυτόν ακριβώς τον τρόπο). Το 0 εδώ αποτελεί μία σύμβαση. Θεωρώ ότι αρχικοποιώ το μετρητή με 0 ώστε σε κάθε σχόλιο που θα εμφανίζεται να αυξάνω κατά 1.</p><pre name="code" class="php">
function addNumber($author='') {
$this-&gt;i++;
return "(".$this-&gt;i.") ".$author;
}
</pre><p>Η μέθοδος addNumbers αποτελεί το κλειδί του plug-in. Αρχικά, η μεταβλητή $i αυξάνει κατά 1 και στη συνέχεια επιστρέφεται ένα αλφαριθμητικό το οποίο περιλαμβάνει τη μεταβλητή $i κλεισμένη σε παρενθέσεις ακολουθούμενη από το όνομα του εκάστοτε συγγραφέα σχολίου για το εκάστοτε άρθρο.</p><p>Σημαντική λεπτομέρεια αποτελεί η μεταβλητή $author=” που ζητείται σαν όρισμα από την μέθοδο addNumbers. Εδώ, το WordPress τροφοδοτεί το όνομα του εκάστοτε συγγραφέα σχολίου (με τρόπο που θα περιγράψουμε παρακάτω).</p><pre name="code" class="php">
add_filter('get_comment_author',array(&amp;$myplugin, 'addNumber'));
</pre><p>Η τελευταία  και σπουδαιότερη γραμμή / προσθήκη στο plug-in μας. Αν και έχουμε ασχοληθεί αναλυτικά με τις γραμμές αυτού του τύπου στα πρώτα μας άρθρα, ας κάνουμε μια μικρή επανάληψη.</p><p>Η κλήση add_filter κάνει ουσιαστικά την  χρήση hooks για να επιβάλει το επιθυμητό φίλτρο στα επιθυμητά δεδομένα. Στην παρούσα φάση το hook είναι η δήλωση get_comment_author και όπως είναι φανερό από το όνομα, αναλαμβάνει να επιστρέψει τα ονόματα των συγγραφέων των σχολίων ανά άρθρο του blog στο οποίο έχει εγκατασταθεί το plug-in που κατασκευάζουμε.</p><p>Με απλά λόγια: Το προαναφερθέν hook στέλνει υπό τη μορφή ορίσματος το όνομα των συγγραφέων των σχολίων του εκάστοτε άρθρου στην μέθοδο addNumber του αντικειμένου myPlugin (η χρήση των &amp;$ είναι υποχρεωτική). Στη συνέχεια η μέθοδος addNumbers προσθέτει τον αύξοντα αριθμό μπροστά από το όνομα του συγγραφέα του εκάστοτε σχολίου, με τον τρόπο που περιγράψαμε και το επιστρέφει, πρακτικά, πίσω στη μηχανή του WordPress.</p><p>Στο τέλος του άρθρου μπορείτε να βρείτε την τελική, ολοκληρωμένη έκδοση του plug-in και να το εγκαταστήσετε στο blog σας κατά τα γνωστά. Αν σε κάποιο άρθρο υπάρχουν σχόλια, μετά την ενεργοποίηση του plug-in θα πρέπει να εμφανίζεται μία extra πληροφορία δίπλα από το ψευδώνυμο κάθε συγγραφέα σχολίου που θα έχει τη μορφή:</p><pre name="code" class="php">
( ΑΡΙΘΜΟΣ ΣΧΟΛΙΟΥ ) ΨΕΥΔΩΝΥΜΟ
</pre><p>Φυσικά, αν το theme σας ήδη υποστηρίζει αριθμούς σχολίων, μετά την ενεργοποίηση του plug-in, απλά θα βλέπετε τον αριθμό 2 φορές.</p><p>Με αυτό το άρθρο ολοκληρώνεται η πρώτη απόπειρα εφαρμογής της θεωρίας μας σε ένα πραγματικό plug-in. Παρά την απλότητά του, θεωρώ ότι είναι σημαντικό βήμα κυρίως για τους αρχάριους στον χώρο. Μείνετε συντονισμένοι, υπάρχει μέλλον.</p><p>Μέχρι τότε μη ξεχνάτε&#8230;</p><p><em>να είστε καλά και να προσέχετε τον εαυτό σας!</em></p><blockquote><p
style="text-align: center;">Μπορείτε να κατεβάσετε τα αρχεία του βοηθήματος εδώ</p><p
style="text-align: center;"><a
href="http://static.greektuts.net/uploads3/2010/08/numberedAuthorsComments1.zip"><img
class="size-full wp-image-4135 aligncenter" src="http://static.greektuts.net/uploads/2009/10/membersdownload1.png" alt="" /></a></p></blockquote> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordpress-plugins-from-threory-to-reality-part2/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>WordPress Plug-ins: Από τη θεωρία στην πράξη (μέρος 1)</title><link>http://greektuts.net/wordpress-plugins-from-threory-to-reality-part1/</link> <comments>http://greektuts.net/wordpress-plugins-from-threory-to-reality-part1/#comments</comments> <pubDate>Mon, 02 Aug 2010 07:00:19 +0000</pubDate> <dc:creator>krap</dc:creator> <category><![CDATA[Plugins-Πρόσθετα]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[krap]]></category> <category><![CDATA[newsfilter]]></category> <category><![CDATA[part1]]></category> <category><![CDATA[press]]></category> <category><![CDATA[theory]]></category> <category><![CDATA[word]]></category> <category><![CDATA[WordPress Plug-ins: Από τη θεωρία στην πράξη (μέρος 1)]]></category> <category><![CDATA[wordpress plugin]]></category> <category><![CDATA[wordpress plugin creation]]></category> <category><![CDATA[wordpress plugin from theory to reality]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=4132</guid> <description><![CDATA[Προτού αρχίσουμε να κολυμπάμε σε βαθύτερα νερά, όσον αφορά την δημιουργία WordPress plug-ins τι θα λέγατε να εφαρμόσουμε όσα μάθαμε σε ένα απτό παράδειγμα. Θα ξεκινήσουμε (σε αυτό το άρθρο) ορίζοντας το πρόβλημα το οποίο θέλουμε να αντιμετωπίσουμε και θα δημιουργήσουμε τον σκελετό του plug-in που χρειαζόμαστε.]]></description> <content:encoded><![CDATA[<h1><strong>Το πρόβλημα</strong></h1><p>Όπως μπορεί να έχετε προσέξει στο μίνι κειμενάκι / βιογραφικό μου στο <a
href="http://www.greektuts.net/">GreekTuts</a> είμαι συνιδρυτής ενός ενημερωτικού blog με έδρα τη Θεσσαλονίκη (αν σας ενδιαφέρει ποιο είναι αυτό, μπορείτε να βρείτε πληροφορίες στο <a
href="../author/akritikos/">http://greektuts.net/author/akritikos/</a>).</p><p>Όπως συμβαίνει στα περισσότερα blogs αυτού του τύπου, πολύ συχνά φιλοξενούμε διαγωνισμούς. Εν τάχει, η λογική είναι η ακόλουθη:</p><ul><li>Οι ενδιαφερόμενοι αφήνουν από ένα σχόλιο στο άρθρο του διαγωνισμού</li><li>Την ημέρα της κλήρωσης χρησιμοποιούμε κάποια υπηρεσία παραγωγής τυχαίων αριθμών (π.χ. <a
href="http://www.random.org/">http://www.random.org/</a>)</li><li>Το σχόλιο με τον αριθμό που προήλθε από την παραπάνω γεννήτρια τυχαίων αριθμών κερδίζει</li></ul><p>Μέχρι πρόσφατα δεν είχαμε κανένα πρόβλημα διότι το theme που χρησιμοποιούσαμε υποστήριζε αρίθμηση σχολίων ανά άρθρο. Ωστόσο, το νέο theme που έχει τεθεί σε λειτουργία εδώ και λίγο καιρό δεν υποστηρίζει αρίθμηση σχολίων.</p><h1><strong>Πιθανές λύσεις</strong></h1><p>Ο έμπειρος αναγνώστης μπορεί να αναρωτηθεί: «Μα τα WordPress themes δεν είναι και αυτά ένα σύνολο αρχείων σε κώδικα php, css, html, κλπ.; Δεν θα μπορούσαν να επέμβουν εκεί και να τροποποιήσουν τον τρόπο παρουσίασης των σχολίων;». Και θα είχε δίκαιο! Θα μπορούσαμε.</p><p>Ωστόσο…</p><ul><li>Το να μελετήσουμε υπάρχον κώδικα και να ανακαλύψουμε τι πρέπει να αλλάξει ώστε να έχουμε το επιθυμητό αποτέλεσμα είναι σαφώς δυσκολότερο από το να δημιουργήσουμε ένα μικρό κομμάτι κώδικα από το μηδέν.</li><li>Εν γένει, όταν κανείς πειράζει υπάρχοντα κώδικα, επιβάλλεται μετά την αλλαγή να εκτελέσει εξαντλητικούς ελέγχους για να σιγουρευτεί ότι όλα λειτουργούν όπως πριν, δηλαδή ότι οι αλλαγές δεν επηρέασαν τον προϋπάρχοντα κώδικα.</li></ul><p>Επομένως…</p><p>Η λύση του WordPress plug-in φαίνεται να είναι η πιο έξυπνη κίνηση. Έχοντας λοιπόν τις απαιτήσεις για την ανάπτυξη του plug-in, πάμε να το υλοποιήσουμε με βάση τα όσα έχουμε μάθει ως τώρα.</p><h1><strong>WordPress Plug-in: Numbered Author Comments</strong></h1><p>Στην παρούσα φάση, τα σχόλια στα άρθρα μας έχουν την παρακάτω μορφή</p><blockquote><p
style="text-align: center;"><img
class="size-full wp-image-4135 aligncenter" src="http://static.greektuts.net/uploads3/2010/08/noNumbers.png" alt="" width="600" height="550" /></p></blockquote><p>Θα θέλαμε να προσθέσουμε έναν αύξοντα αριθμό μπροστά από κάθε ψευδώνυμο χρήστη. Το αποτέλεσμα δηλαδή του plug-in μας θα πρέπει να κάνει το τμήμα των σχολίων να φαίνεται ως εξής:</p><blockquote><p
style="text-align: center;"><img
class="size-full wp-image-4136 aligncenter" src="http://static.greektuts.net/uploads3/2010/08/withNumbers.png" alt="" width="600" height="581" /></p></blockquote><p>Ας σκεφθούμε τώρα πως μπορεί να υλοποιηθεί ένα plug-in που θα επιφέρει το επιθυμητό αποτέλεσμα. Μας ενδιαφέρει, μετά την ενεργοποίηση του plug-in μας, να προστεθεί ένας αύξον αριθμός μπροστά από κάθε ψευδώνυμο χρήστη. Πρακτικά, θέλουμε να <strong><em>φιλτράρουμε</em></strong> τα ψευδώνυμα των σχολίων των άρθρων μας και να αλλάξουμε την εμφάνισή τους. Η λέξη κλειδί είναι προφανώς το «φιλτράρουμε» και συνδυάζεται με τα όσα έχουμε πει ως τώρα (προφανώς) με τα filters των WordPress plug-ins.</p><p>Άρα λοιπόν θέλουμε να δημιουργήσουμε ένα filter στο WordPress plug-in που πρόκειται να κάνουμε το οποίο θα κάνει τη δουλειά που προαναφέραμε.</p><h1><strong>Ο σκελετός</strong></h1><p>Επειδή η μεθοδικότητα είναι το κλειδί σε κάθε επιτυχημένη διαδικασία θα πάμε να δημιουργήσουμε προσεκτικά τον σκελετό του plug-in μας. Προς αποφυγήν παρεξηγήσεων τονίζω ότι ο σκελετός που θα δημιουργηθεί, μπορεί να αποτελέσει τον σκελετό για οποιοδήποτε plug-in θα επιχειρήσουμε να κάνουμε από εδώ και πέρα (δώστε προσοχή, μπορεί να το θεωρήσω δεδομένο στο μέλλον J ).</p><p>Α. <span
style="text-decoration: underline;">Δομή του </span><span
style="text-decoration: underline;">plug</span><span
style="text-decoration: underline;">-</span><span
style="text-decoration: underline;">in</span><span
style="text-decoration: underline;"> (σε επίπεδο συστήματος αρχείων)</span></p><p>Δημιουργούμε τους κατάλληλους καταλόγους και αρχέια</p><p>numberedAuthorComments/ (κατάλογος)</p><p>css/ (κατάλογος)</p><p>images/ (κατάλογος)</p><p>js/ (κατάλογος)</p><p>php/ (κατάλογος)</p><p>numberedAuthorsComments.php</p><p><span
style="text-decoration: underline;">ΠΡΟΣΟΧΗ</span>:</p><ul><li>Η ονομασία του εξωτερικού φακέλου πρέπει να συμφωνεί με την ονομασία του αρχείου php</li><li>Για τις ανάγκες του plug-in που πάμε να υλοποιήσουμε δεν θα χρειαστεί να χρησιμοποιήσουμε τους καταλόγους css, images, js, php. Παρόλα αυτά είναι καλή πρακτική να συνηθίσετε να χρησιμοποιείται αυτή την αρχιτεκτονική καταλόγων και αρχείων που δύναται να φιλοξενήσει το μεγαλύτερο μέρος των αναγκών ενός WordPress plug-in, εν γένει.</li></ul><p>Β. <span
style="text-decoration: underline;">Δομή και αρχιτεκτονική του </span><span
style="text-decoration: underline;">numberedAuthorComments</span><span
style="text-decoration: underline;">.</span><span
style="text-decoration: underline;">php</span></p><p>Το numberedAuthorComments.php θα είναι το αρχείο που θα φιλοξενήσει την συνολική λειτουργικότητα του plug-in μας. Ας δούμε τη δομή του:</p><pre name="code" class="php">
&lt;?php
/*
Plugin Name: numberedAuthorsComments
Plugin URI: http://www.newsfilter.gr
Version: v0.5
Author: &lt;a href=”http://krap.gr/”&gt;Apostolos Kritikos&lt;/a&gt;
Description: This is my first plugin. Please don't be too hard on me if it crushes...
*/
</pre><p>Σε αυτό το σημείο δηλώνεται η ταυτότητα του plug-in (όνομα, ιστοσελίδα του plug-in, έκδοση, συγγραφέας και περιγραφή). Είναι απαραίτητο όλες αυτές οι πληροφορίες να εσωκλείονται σε /* … */.</p><pre name="code" class="php">
if(!class_exists('numberedAuthorsComments')) {
class numberedAuthorsComments {
function numberedAuthorsComments() { //κατασκευαστής
}
function addNumbers($author='') {
}
}
} //τέλος κλάσης
</pre><p>Ο παραπάνω έλεγχος if(…) έχει διπλό χαρακτήρα. Αφενός ελέγχει αν υπάρχει άλλο plug-in με την ίδια ονομασία (ώστε να αποφευχθούν συγκρούσεις) και, αν δεν υπάρχει εκτελεί το περιεχόμενο της κλάσης numberedAuthorComments.</p><pre name="code" class="php">
if(class_exists('numberedAuthorsComments')) {
$myplugin = new numberedAuthorsComments();
}
</pre><p>Αντιστοίχως, με έναν δεύτερο έλεγχο, τσεκάρουμε αν η κλάση numberedAuthorsComments υπάρχει και αν ναι, δημιουργούμε ένα αντικείμενό της, το οποίο στο παράδειγμά μας ονομάσαμε myplugin. Εν γένει, το αντικείμενο αυτό συγκεντρώνει μέσα του όλη τη λειτουργικότητα που περιλαμβάνει το plug-in που κατασκευάσαμε.</p><pre name="code" class="php">
if(isset($myplugin))  {
//Actions
//. . .
//Filters
//. . .
}
?&gt;
</pre><p>Ο τελευταίος αυτός έλεγχος εξετάζει αν το αντικείμενο στο οποίο αναφερθήκαμε πριν και, αν υπάρχει, αναλαμβάνει να εκτελέσει τη λειτουργικότητα του plug-in. Εφόσον, μέχρι στιγμής έχουμε δει μόνον τη χρήση actions και filters, η λειτουργικότητα στην οποία αναφερθήκαμε μπορεί να περιλαμβάνει μόνον αυτές τις δύο ομάδες χαρακτηριστικών. Αργότερα θα εμπλουτίσουμε με περισσότερα.</p><p>Στο συγκεκριμένο plug-in που προσπαθούμε να κατασκευάσουμε, χρειαζόμαστε ένα φίλτρο που θα προσθέτει έναν αριθμό μπροστά από το ψευδώνυμο κάθε συγγραφέα σχολίου σε κάθε άρθρο του blog μας. Στο επόμενο άρθρο θα δούμε πως υλοποιείται το φίλτρο αυτό, τι πρέπει να δηλωθεί και σε ποια σημεία του σκελετού που κατασκευάσαμε σήμερα.</p><p>Μέχρι τότε&#8230;</p><p><em>να είστε καλά και να προσέχετε τον εαυτό σας!</em></p><blockquote><p
style="text-align: center;">Μπορείτε να κατεβάσετε τα αρχεία του βοηθήματος εδώ</p><p
style="text-align: center;"><a
href="http://static.greektuts.net/uploads3/2010/08/numberedAuthorsComments.zip"><img
class="size-full wp-image-4135 aligncenter" src="http://static.greektuts.net/uploads/2009/10/membersdownload1.png" alt="" /></a></p></blockquote> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordpress-plugins-from-threory-to-reality-part1/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>WordPress Plug-in: Actions και Filters</title><link>http://greektuts.net/wordpress-plugin-actions-and-filters/</link> <comments>http://greektuts.net/wordpress-plugin-actions-and-filters/#comments</comments> <pubDate>Sun, 18 Jul 2010 09:00:36 +0000</pubDate> <dc:creator>krap</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[filters]]></category> <category><![CDATA[krap]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[wordpress plugin]]></category> <category><![CDATA[απόστολος]]></category> <category><![CDATA[δημιουργία πρόσθετου]]></category> <category><![CDATA[κρητικός]]></category> <category><![CDATA[πρόσθετο]]></category> <category><![CDATA[φίλτρα]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=4076</guid> <description><![CDATA[Στο προηγούμενο εισαγωγικό άρθρο, κάναμε την εισαγωγή στην διαδικασία δημιουργίας ενός Plugin για το Wordpress. Σε αυτό το μέρος θα πάρουμε μια γεύση από την πραγματική δύναμη των WordPress plugins ελέγχοντας το περιεχόμενο της WordPress εγκατάστασής μας.]]></description> <content:encoded><![CDATA[<p>Έχοντας μάθει πως να κατασκευάζουμε τον σκελετό ενός WordPress plug-in ήρθε η ώρα να συνεχίσουμε με πιο ενδιαφέροντα πράγματα.</p><h1><strong>Actions και Filters. Πως αρχικοποιώ;</strong></h1><pre name="code" class="php">
if(isset($myPlugin))  {
//Actions
//Filters
}
</pre><p>Απλό έτσι; Το μόνο που χρειάζεται κάνετε είναι να ελέγξετε ότι ένα αντικείμενο τύπου myTestPlugin έχει δημιουργηθεί (κατ&#8217; επέκταση φυσικά ελέγχετε και ότι το plug-in έχει εγκατασταθεί και αρχικοποιηθεί σωστά).</p><h1><strong>WordPress Actions</strong></h1><p>Ας προσπαθήσουμε να γεμίσουμε τα κενά κάτω από τα σχόλια. Ξεκινούμε με τις Actions (//Actions).</p><p>Για να δημιουργήσουμε μία action θα πρέπει σε πρώτη φάση να κατασκευάσουμε μία συνάρτηση (function) για το plug-in μας.</p><pre name="code" class="php">
function testFunction() {
?&gt;
&lt;!-- just a comment --&gt;
&lt;?php
}
</pre><p>Όπως μπορείτε να καταλάβετε η παραπάνω συνάρτηση απλά προσθέτει ένα comment&#8230; και τίποτε άλλο. Ας δούμε πως την καλούμε.</p><p>Χρειαζόμαστε μία action. Επομένως&#8230;</p><pre name="code" class="php">
if(isset($myPlugin)) {
//Actions
add_action('wp_head', array(&amp;$myPlugin, 'testFunction'), 1);
//Filters
}
</pre><p>δηλαδή&#8230;</p><p>η πλήρης σύνταξη της add_action() σύμφωνα με το WordPress Plugin API είναι add_action(&#8216;hook_name&#8217;, array(&amp;$myPlugin,&#8217;myFunction&#8217;), PRIORITY);</p><ul><li>hook_name: το όνομα με το οποίο θέλουμε να καλούμε την action (σε κάποιο σημείο της wordpress εγκατάστασής μας).</li><li>array(&#8230;): πίνακας με την ταυτότητα του action</li><li>&amp;$myPlugin: αναφορά στην μεταβλητή / αντικείμενο της κλάσης που αντιπροσωπεύει το plug-in μας</li><li>MyFunction: η συνάρτηση που επιθυμούμε να καλέσουμε</li><li>PRIORITY: προτεραιότητα εκτέλεσης. Τα μικρά νούμερα εκτελούνται γρηγορότερα</li></ul><h1><strong>Πως το τρέχω;</strong></h1><p>Όπως αναφέραμε στο προηγούμενο άρθρο μας. Αφότου το plugin εγκατασταθεί χωρίς πρόβλημα, ενεργοποιώντας το, το σχόλιο που περιλαμβάνεται στην testFunction θα εμφανιστεί στο πάνω μέρος της κεντρικής ιστοσελίδας της WordPress εγκατάστασής μας.</p><h1><strong>Αφαίρεση των actions</strong></h1><p>Οι actions μπορούν να αφαιρούνται δυναμικά, ακριβώς όπως δημιουργούνται κάνοντας χρήση της ακόλουθης σύνταξης:</p><pre name="code" class="php">
remove_action('action_hook','action_function')
</pre><ul><li>hook_name: το όνομα με το οποίο θέλουμε να καλούμε την action (σε κάποιο σημείο της wordpress εγκατάστασής μας).</li><li>MyFunction: η συνάρτηση που επιθυμούμε να καλέσουμε</li></ul><h1><strong>WordPress Filters</strong></h1><p>Τα WordPress filters αποτελούν συναρτήσεις που είναι υπεύθυνες για αλλαγές κειμένου. Η ανάγκη για την αλλαγή κειμένου πηγάζει είτε από την ανάγκη να το εισάγουμε σε μία βάση δεδομένων, είτε από την ανάγκη να το εμφανίσουμε στον χρήστη.</p><h1><strong>Τι μπορώ να αλλάξω χρησιμοποιώντας filters;</strong></h1><ul><li>Άρθρα</li><li>Σχόλια</li><li>Feeds, κ.α.</li></ul><h1><strong>Filter περιεχομένου</strong></h1><p>Είπαμε ότι τα filters αποτελούν ουσιαστικά συναρτήσεις. Ένα πολυ ενδιαφέρον filter είναι το &#8216;the_content&#8217;. Αυτό που ουσιαστικά κάνει είναι να επεμβαίνει στο κείμενο ενός άρθρου. Στο παράδειγμα που ακολουθεί θα χρησιμοποιήσουμε το filter περιεχομένου για να προσθέτουμε μία γραμμή στο τέλος κάθε άρθρου.</p><p>Σύμφωνα με το WordPress Plugin API η σύνταξη της add_filter είναι η ακόλουθη:</p><pre name="code" class="php">
add_filter('hook_name','my_filter',[priority],[accepted_args]);
</pre><p>Ας φτιάξουμε για αρχή την συνάρτηση που θα προσθέτει την έξτρα γραμμή:</p><pre name="code" class="php">
function addLine($content=”) {
$content .= “&lt;p&gt;My text goes here&lt;/p&gt;”;
return $content;
}
</pre><ul><li>Αρχικά δηλώνεται η συνάρτηση η οποία παίρνει σαν όρισμα μία μεταβλητή</li><li>Αν δεν δοθεί κείμενο κατά την κλήση της, δίδεται μία default τιμή</li><li>Στο κείμενο που δόθηκε (ή η default τιμή αν δε δόθηκε τίποτε) προστίθεται η γραμμή που θέλουμε να τελειώνει το post (στην περίπτωσή μας  “My text goes here”)</li><li>Τέλος, επιστρέφεται το αλφαριθμητικό στην τελική του μορφή.</li></ul><p>Στην συνέχεια θα πρέπει να εκτελέσουμε την συνάρτηση μας αυτή κάνοντας χρήση του filter &#8216;the_content&#8217;. Κάνοντας χρήση του κώδικα που έχουμε ως τώρα, μετά την προσθήκη του filter θα μοιάζει κάπως έτσι:</p><pre name="code" class="php">
if(isset($myPlugin)) {
//Actions
add_action('wp_head', array(&amp;$myPlugin, 'testFunction'), 1);
//Filters
add_filter('the_content', array(&amp;$myPlugin,'addLine'));
}
</pre><p>Εφόσον το plugin εγκατασταθεί και ενεργοποιηθεί, στο τέλος κάθε άρθρου θα πρέπει να βλέπετε τουλάχιστον ( <img
src='http://greektuts.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ) την έξτρα γραμμή.</p><h1><strong>Filter συγγραφεά</strong></h1><p>Όπως είπαμε τα filters μπορούν να προσφέρουν μεγάλη λειτουργικότητα. Πριν κλείσουμε λοιπόν το άρθρο θα δημιουργήσουμε ακόμη ένα φίλτρο, προσανατολισμένο στους συγγραφείς σχολίων αυτή τη φορά.</p><p>Όπως και πριν, χρειαζόμαστε μία συνάρτηση:</p><pre name="code" class="php">
function authorFunction($author=”) {
return strtoupper($author);
}
</pre><ul><li>Αρχικά δηλώνεται η συνάρτηση η οποία παίρνει σαν όρισμα μία μεταβλητή  (στην συγκεκριμένη περίπτωση το όνομα το συγγραφέα)</li><li>Αν δεν δοθεί κείμενο κατά την κλήση της, δίδεται μία default τιμή</li><li>Το περιεχόμενο της μεταβλητής (στην συγκεκριμένη περίπτωση ο συγγραφέας του σχολίου, επιστρέφεται με κεφαλαία γράμματα</li></ul><p>Αυτό που πρέπει να κάνουμε τώρα είναι να επιβάλουμε στην παραπάνω συνάρτηση να τρέξει κατά την συγγραφή ενός σχολίου από κάποιον συγγραφέα. Για τον λόγο αυτό θα χρησιμοποιήσουμε το get_comment_author filter.</p><pre name="code" class="php">
if(isset($myPlugin)) {
//Actions
add_action('wp_head', array(&amp;$myPlugin, 'testFunction'), 1);
//Filters
add_filter('the_content', array(&amp;$myPlugin,'addLine'));
add_filter('get_comment_author',array(&amp;$myPlugin, authorFunction));
}
</pre><p>Ως συνήθως, αν εγκαταστήσετε και ενεργοποιήσετε το plugin, στο εξής, θα πρέπει τα ονόματα των συγγραφέων των σχολίων από εδώ και στο εξής να εμφανίζονται σε κεφαλαία γράμματα.</p><p>Στο σημερινό μας άρθρο, πήραμε μια γεύση από την πραγματική δύναμη των WordPress plugins ελέγχοντας το περιεχόμενο της WordPress εγκατάστασής μας. Ωστόσο, βρισκόμαστε ακόμη στην αρχή. Μείνετε συντονισμένοι για το επόμενο άρθρο της σειράς. Μέχρι τότε&#8230;</p><p><em>να είστε καλά και να προσέχετε τον εαυτό σας!</em></p><p><em>[<strong>Πηγή</strong>:</em><a
href="http://www.devlounge.net/extras/how-to-write-a-wordpress-plugin" target="_blank"><em>Devlounge</em></a><em>]</em></p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordpress-plugin-actions-and-filters/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>WordPress Plug-in: Δομή &amp; Αρχιτεκτονική</title><link>http://greektuts.net/wordpress-plugin-structure-and-architecture/</link> <comments>http://greektuts.net/wordpress-plugin-structure-and-architecture/#comments</comments> <pubDate>Wed, 14 Jul 2010 07:18:35 +0000</pubDate> <dc:creator>krap</dc:creator> <category><![CDATA[Plugins-Πρόσθετα]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[wordpress plugin]]></category> <category><![CDATA[wordpress-plugin-structure-and-architecture]]></category> <category><![CDATA[δημιουργία πρόσθετου]]></category> <category><![CDATA[πρόσθετο]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=4064</guid> <description><![CDATA[“Η αρχή είναι το ήμισυ του παντός”. Έχοντας αυτό το μότο στο μυαλό μας θα κάνουμε σήμερα την πρώτη μας εισαγωγή στην δημιουργία προσθέτων (plug-ins) στο WordPress από το μηδέν. Σε αργότερα βοηθήματα θα δούμε όλα όσα χρειάζεται να ξέρουμε για να δημιουργήσουμε το δικό μας Plugin]]></description> <content:encoded><![CDATA[<p>Στην παρούσα φάση δεν υπάρχουν προαπαιτούμενα.</p><h1><strong>Πως λειτουργεί;</strong></h1><p>Ας ξεκινήσουμε με μια μίνι αναφορά στο πως εγκαθιστούμε ένα WordPress plug-in το οποίο έχουμε κατασκευάσει (μπορεί να σας φαίνεται ότι προτρέχω, αλλά πιστέψτε με είναι πολύ σημαντικό να γνωρίζεται πως λειτουργεί πραγματικά αυτή η διαδικασία πριν ξεκινήσετε να κατασκευάζετε το πρώτο σας plug-in).</p><ol><li>Τοποθετούμε το plug-in στον φάκελο “wp-content/plugins/” (μετά από αυτό το βήμα το plug-in μας πρέπει να είναι έτοιμο για εγκατάσταση – να φαίνεται  δηλαδή στη λίστα με τα διαθέσιμα προς εγκατάσταση plug-ins – ).</li><li>Όταν το plug-in ενεργοποιείται πρακτικά ζητά από το WordPress να φορτώσει τον κώδικα σε κάθε μια από τις σελίδες (συμπεριλαμβανομένης και αυτής του διαχειριστή). <span
style="text-decoration: underline;">ΠΡΟΣΟΧΗ</span>: Όταν ενεργοποιείται πολλά plug-ins, η εγκατάσταση του WordPress σας ενδέχεται να λειτουργεί πολύ πιο αργά.</li></ol><p>Αφότου εκτελεστούν τα δύο ανωτέρω βήματα θα πρέπει το plug-in σας να είναι εγκατεστημένο και σε λειτουργία.</p><p>Πριν προχωρήσουμε στα ζητήματα δομής και αρχιτεκτονικής ενός WordPress plug-in θεωρούμε δόκιμο να αναφέρουμε μερικές ακόμη ενδιαφέρουσες λειτουργίες που μπορούν να επιτευχθούν από ένα WordPress plug-in.</p><ul><li>Δεδομένου ότι το WordPress  plug-in φορτώνει τον κώδικά σας αυτόματα, σας επιτρέπει να επιτύχετε διάδραση τόσο με το WordPress plug-in API όσο και με τα tags των WordPress Templates (δυνατότητα χρήσης των υπαρχόντων ή / και δημιουργία νέων).</li><li>Αν σκοπεύετε να εκτελέσετε αλλαγές στο περιεχόμενο των άρθρων ή στα σχόλια, θα πρέπει να μελετήσετε τα σχετικά με το <a
href="http://codex.wordpress.org/The_Loop">WordPress Loop</a>. Μπορείτε να ελέγξετε τη συμπεριφορά του κώδικα και που αυτός τρέχει κάθε φορά, χρησιμοποιώντας actions και filters (για τα οποία θα μιλήσουμε αναλυτικότερα σε επόμενο άρθρο).</li></ul><h1><strong>Δομή του plug-in: Αρχείο ή φάκελος;</strong></h1><p>Η αλήθεια είναι ότι δεν υπάρχει σωστό και λάθος. Ένα WordPress plug-in μπορεί να αποτελείται απλά από ένα αρχείο php ή από μία πιο σύνθετη δομή, ένα κατάλογο αρχείων. Ας δούμε ένα παράδειγμα ενός τέτοιου καταλόγου:</p><ul><li>ΟΝΟΜΑ_ΚΑΤΑΛΟΓΟΥ (δηλαδή το όνομα του plug-in)</li><li>◦          ΟΝΟΜΑ_ΚΑΤΑΛΟΓΟΥ.php (υποχρεωτικά)</li><li>◦          ΦΑΚΕΛΟΣ js (φάκελος που θα περιέχει αρχεία javascript &#8211; προαιρετικά)</li><li>◦          ΦΑΚΕΛΟΣ css (φάκελος που θα περιέχει αρχεία css – προαιρετικά)</li><li>◦          ΦΑΚΕΛΟΣ php (φάκελος που θα περιέχει άλλα αρχεία php – προαιρετικά)</li><li>◦          ΦΑΚΕΛΟΣ images (φάκελος που θα περιέχει εικόνες &#8211; προαιρετικά)</li></ul><p>ή</p><ul><li>myTestPlugin/</li><li>◦          myTestPlugin.php</li><li>◦          js/</li><li>◦          css/</li><li>◦          php/</li><li>◦          images/</li></ul><h1><strong>Κυρίως αρχείο (δομή)</strong></h1><p>Όσοι έχετε μία κάποια οικειότητα με το WordPress θα έχετε προσέξει ότι στον τομέα των plug-ins (λίστα με τα διαθέσιμα plug-ins) παρέχονται διάφορες πληροφορίες για τα plug-ins αυτά (όνομα, έκδοση, περιγραφή, κατάσταση). Αν δεν ξέρετε ήδη πως παρέχονται αυτές οι πληροφορίες στη μηχανή του WordPress δεν θα το μαντέψετε ποτέ:</p><pre name="code" class="php">
&lt;?php
/*
Plugin Name: My Fiirst Plug-In
Plugin URI: <a href="http://www.mypersonalsite.gr/">http://www.mypersonalsite.gr</a>
Version: v1.00
Author: &lt;a href=”<a href="http://krap.gr/">http://krap.gr/</a>”&gt;Apostolos Kritikos&lt;/a&gt;
Description: This is my first plugin. Please don't be too hard on me if it crushes.
</pre><p>Ναι! Είναι σχόλια! Με τις παραπάνω 7 γραμμές οφείλει να αρχίζει κάθε WordPress Plug-in που σέβεται τον εαυτό του.</p><h1><strong>Σχόλια; ΟΚ&#8230; Και το plug-in πότε το κατασκευάζω;</strong></h1><p>Για την δημιουργία του λειτουργικού τμήματος του plug-in απαιτείται χρήση κλάσεων PHP. Αν και η πρότερη γνώση προγραμματισμού PHP κλάσεων θα βοηθούσε πολύ, δεν θεωρείται απαραίτητη γνώση για την παρακολούθηση του παρόντος άρθρου.</p><p>Για αρχή απαιτείται να εξασφαλίσουμε ότι δεν υπάρχει άλλο plug-in με το  ίδιο όνομα εγκατεστημένο στο WordPress σύστημά μας. Ο συγκεκριμένος έλεγχος επιτυγχάνεται με τον παρακάτω κώδικα:</p><pre name="code" class="php">
if(!class_exists(“myTestPlugin”)) {
class myTestPlugin {
function myTestPlugin() { //κατασκευαστής
}
}
} //τέλος κλάσης
</pre><p>Εφόσον λοιπόν μια κλάση με όνομα ταυτόσημο με αυτό του δικού μας plug-in  δεν υπάρχει, δημιουργείται.</p><pre name="code" class="php">
if(class_exists(“myTestPlugin”)) {
$myPlugin = new myTestPlugin();
}
</pre><p>Ο παραπάνω κώδικας  αναλαμβάνει να αρχικοποιήσει ένα στιγμιότυπο της κλάσης που δημιουργήσαμε νωρίτερα. Μετά την εκτέλεση του τμήματος αυτού η  μεταβλητή $myPlugin αποτελεί ένα αντικειμένο τύπου myTestPlugin δήλαδή της κλάσης που υλοποιεί την λειτουργικότητα του plugin μας.</p><p>Όπως είπαμε στην αρχή του άρθρου, η αρχή είναι το ήμισυ του παντός. Με τον κώδικα που παρουσιάσαμε σε αυτό το άρθρο ο αναγνώστης καταλήγει με έναν πλήρες σκελετό ο οποίος μπορεί να χρησιμοποιηθεί για την υλοποίηση ενός εντελώς λειτουργικού plugin.</p><p>Την επόμενη φορά (spoiler alert <img
src='http://greektuts.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ) θα μιλήσουμε  για το πως υλοποιούμε actions και  filters για αυτό, μείνετε συντονισμένοι. Μέχρι τότε&#8230;</p><p><em>να είστε καλά και να προσέχετε τον εαυτό σας!</em></p><p><em>[<strong>Πηγή</strong>:</em><a
href="http://www.devlounge.net/extras/how-to-write-a-wordpress-plugin"><em>Devlounge</em></a><em>]</em></p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordpress-plugin-structure-and-architecture/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
