﻿<?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>Fri, 27 Apr 2012 09:31:40 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Τα 10 Καλύτερα WordPress Hacks</title><link>http://greektuts.net/10-best-wordpress-hacks/</link> <comments>http://greektuts.net/10-best-wordpress-hacks/#comments</comments> <pubDate>Fri, 20 Apr 2012 10:51:03 +0000</pubDate> <dc:creator>Pantso</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[wordpress hacks]]></category> <category><![CDATA[wordpress tips and tricks]]></category> <category><![CDATA[Τα 10 Καλύτερα WordPress Hacks]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=5642</guid> <description><![CDATA[Στο διαδίκτυο υπάρχουν πάρα πολλά βοηθήματα και άρθρα με tips &#038; tricks για το WordPress. Σε αυτό το άρθρο συγκεντρώσαμε τα 10 καλύτερα WordPress hacks σύμφωνα με την συχνότητα αναζήτήσεων μέσω του Google και μέσω των ιστοσελίδων που κατακλίζονται από αναζητήσεις για βοηθήματα κόλπα και hacks πάνω στο WordPress. ]]></description> <content:encoded><![CDATA[<h1>Εμφάνιση Adsense σε επισκέπτες από μηχανές αναζήτησης</h1><p>Με τον παρακάτω κώδικα θα εμφανίζετε τα Adsense ads μόνο σε όσους έρχονται στην ιστοσελίδα σας μέσα από search engines. Σκοπός αυτού του κόλπου είναι να μην υπάρχει θέμα με την απενεργοποίηση των κερδών από τα click με την τεχνική του smart pricing από την Google.</p><p>Για να το κάνετε αυτό γράψτε στο functions.php του θέματος σας τον κώδικα:</p><pre>function scratch99_fromasearchengine(){
  $ref = $_SERVER['HTTP_REFERER'];
  $SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.');
  foreach ($SE as $source) {
    if (strpos($ref,$source)!==false) return true;
  }
  return false;
}</pre><p>Στον πίνακα $SE, ορίζουμε όλες τις μηχανές αναζήτησης από τις οποίες όταν έρχεται ο επισκέπτης θέλουμε να του εμφανίζουμε τις διαφημίσεις. Στο παράδειγμα υπάρχουν κάποιες βασικές μηχανές, Google, Web.Info.com, Del.icio.us, Soso.com, and Yahoo. Αμέσως μετά, γράψτε τον παρακάτω κώδικα, ό,που θέλετε να εμφανίζετε τις διαφημίσεις στην ιστοσελίδα σας.</p><pre>if (function_exists('scratch99_fromasearchengine')) {
  if (scratch99_fromasearchengine()) {
    YOUR CODE HERE
  }
}</pre><p>Στο σημείο <em>YOUR CODE HERE</em> του παραπάνω κώδικα, απλά βάλτε τον κώδικα από την διαφήμιση που θέλετε να εμφανίσετε.</p><p>Πηγή: <a
href="http://www.scratch99.com/2008/09/avoid-smart-pricing-show-adsense-only-to-search-engine-visitors/">Avoid Smart Pricing Show Adsense Only to Search Engine Visitors</a></p><hr
/><h1>Εμφάνιση ημερομηνιών ώς &#8220;Πρίν από&#8230;&#8221;</h1><p>Σε πολλές σελίδες, η ώρα των άρθρων και των ενημερώσεων, εμφανίζεται με μορφή &#8220;Πρίν από Χ λέπτά&#8221;. Για να το κάνουμε αυτό και στα WordPress posts μας πρέπει ναπροσθέσουμε το εξής function μέσα στο αρχείο functions.php του θέματος μας.</p><pre>function  timeAgo($timestamp, $granularity=2, $format='d-m-Y H:i:s'){
        $difference = time() - $timestamp;
        if($difference &lt; 0) return '0 seconds ago';
        elseif($difference &lt; 864000){
                $periods = array('week' =&gt; 604800,'day' =&gt; 86400,'hr' =&gt; 3600,'min' =&gt; 60,'sec' =&gt; 1);
                $output = '';
                foreach($periods as $key =&gt; $value){
                        if($difference &gt;= $value){
                                $time = round($difference / $value);
                                $difference %= $value;
                                $output .= ($output ? ' ' : '').$time.' ';
                                $output .= (($time &gt; 1 &amp;&amp; $key == 'day') ? $key.'s' : $key);
                                $granularity--;
                        }
                        if($granularity == 0) break;
                }
                return 'πρίν από '.($output ? $output : '0 seconds');
        }
        else return date($format, $timestamp);
}</pre><p>Για να εμφανίσουμε την ώρα με την νέα μορφή γράφουμε μέσα στα templates, όπου θέλουμε να εμφανίζεται με αυτόν τον τρόπο, τον εξής κώδικα:</p><pre>$time = timeAgo($dateRef);</pre><p>Πηγή: <a
href="http://www.phpsnippets.info/display-dates-as-time-ago">Display Dates As Time Ago</a></p><hr
/><h1>Προβολή αύξοντα αριθμού στα posts</h1><p>Με αυτό το κόλπο μπορούμε να βάλουμε άυξοντα αριθμό στα posts μας. Γράφουμε τον παρακάτω κώδικα στο functions.php:</p><pre>function updateNumbers() {
    global $wpdb;
    $querystr = "SELECT $wpdb-&gt;posts.* FROM $wpdb-&gt;posts WHERE $wpdb-&gt;posts.post_status = 'publish' AND $wpdb-&gt;posts.post_type = 'post' ";
    $pageposts = $wpdb-&gt;get_results($querystr, OBJECT);
        $counts = 0 ;
if ($pageposts):
    foreach ($pageposts as $post):
        setup_postdata($post);
        $counts++;
        add_post_meta($post-&gt;ID, 'incr_number', $counts, true);
        update_post_meta($post-&gt;ID, 'incr_number', $counts);
    endforeach;
endif;
}
add_action ( 'publish_post', 'updateNumbers' );
add_action ( 'deleted_post', 'updateNumbers' );
add_action ( 'edit_post', 'updateNumbers' );</pre><p>Τώρα για να εμφανίσετε τον αριθμό εκεί που θέλετε απλά γράψτε τον παρακάτω κώδικα μέσα στο Loop στο αρχείο που θέλετε (index.php, single.php, κτλ).</p><pre>&lt;?php echo get_post_meta($post-&gt;ID,'incr_number',true); ?&gt;</pre><p>Πηγή: <a
href="http://www.catswhocode.com/blog/top-wordpress-hacks-of-early-2010 ">Top WordPress Hacks of Early 2010</a></p><hr
/><h1>Στυλ στα σχόλια ανάλογα με τον ρόλο του χρήστη</h1><p>Ένα από τα πιο παλιά κόλπα στο WordPress είναι ο διαχωρισμός των σχόλιων που προέρχονται από χρήστες/επισκέπτες και από τους συγγραφείς/διαχειριστές της ιστοσελίδας. Έτσι είναι πολύ πιο έυκολο να δώσουμε μια φυσική ροή στην ανάγνωση των σχολίων μας.</p><p>Το πρώτο που πρέπει να κάνουμε είναι να αντικαταστήσουμε το standard κώδικα του loop μέσα στο αρχείο comments.php με τον παρακάτω κώδικα:</p><pre>&lt;ol id="commentlist"&gt;
&lt;?php foreach ($comments as $comment) : ?&gt;
        &lt;?php // The extra stuff to get commenter's role
        $user_id = $comment-&gt;user_id;
        $role = ( isset( $roles[$user_id] ) ? $roles[$user_id] : '' );
        ?&gt;
        &lt;li class="&lt;?php echo $role; ?&gt;"&gt;
        &lt;p&gt;By &lt;?php comment_author_link() ?&gt; - &lt;?php comment_date() ?&gt;&lt;/p&gt;
        &lt;?php comment_text() ?&gt;
        &lt;/li&gt;
&lt;?php endforeach; ?&gt;
&lt;/ol&gt;</pre><p>Τώρα μένει μόνο να δώσουμε στυλ στους διαφορετικούς τύπους σχολίων. Ένα μικρό παράδειγμα για τον κώδικα που θα μπορούσατε να έχετε στο αρχείο style.css, είναι το παρακάτω:</p><pre>#commentlist li { border:2px solid white; } /* not logged or subscriber */
#commentlist li.administrator { border:2px solid red } /* blog admin */
#commentlist li.editor { border:2px solid blue } /* editor */</pre><p>Πηγή: <a
href="http://www.wprecipes.com/wordpress-how-to-style-comments-of-every-roles">WordPress How to Style Comments of Every Roles</a></p><hr
/><h1>Προσθήκη φόρμας login οπουδήποτε στην σελίδα</h1><p>Ο τρόπος που οι χρήστες κάνουν login στο WordPress είναι μερικές φορές διαφορετικός από αυτόν που θα θέλαμε να έχουμε. Έτσι με τον παρακάτω κώδικα μπορείτε να βάλετε όπου εσείς επιθυμείτε μια φόρμα για να κάνουν οι χρήστες σας login. Γράψτε τον παρακάτω κώδικα σε όποιο σημείο θέλετε να εμφανίσετε την φόρμα</p><pre>
&lt;?php if (!(current_user_can('level_0'))){ ?&gt;
&lt;h2&gt;Login&lt;/h2&gt;
&lt;form action="&lt;?php echo get_option('home'); ?&gt;/wp-login.php" method="post"&gt;
&lt;input type="text" name="log" id="log" value="&lt;?php echo wp_specialchars(stripslashes($user_login), 1) ?&gt;" size="20" /&gt;
&lt;input type="password" name="pwd" id="pwd" size="20" /&gt;
&lt;input type="submit" name="submit" value="Send" class="button" /&gt;
    &lt;p&gt;
       &lt;label for="rememberme"&gt;&lt;input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" /&gt; Remember me&lt;/label&gt;
       &lt;input type="hidden" name="redirect_to" value="&lt;?php echo $_SERVER['REQUEST_URI']; ?&gt;" /&gt;
    &lt;/p&gt;
&lt;/form&gt;
&lt;a href="&lt;?php echo get_option('home'); ?&gt;/wp-login.php?action=lostpassword"&gt;Recover password&lt;/a&gt;
&lt;?php } else { ?&gt;
&lt;h2&gt;Logout&lt;/h2&gt;
&lt;a href="&lt;?php echo wp_logout_url(urlencode($_SERVER['REQUEST_URI'])); ?&gt;"&gt;logout&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://XXX/wp-admin/"&gt;admin&lt;/a&gt;
&lt;?php } ?&gt;
</pre><p>Πηγή: <a
href="http://www.wprecipes.com/add-a-login-form-on-your-wordpress-theme">Add a Login Form on Your WordPress theme</a></p><hr
/><h1>Εμφάνιση Σχετικών Άρθρων χωρίς plugin</h1><p>Ένα από τα καλύτερα κόλπα είναι να μπορούμε στα άρθρα μας να εμφανίσουμε έναν αριθμό από σχετικά άρθρα, ώστε να ωθήσουμε τους αναγνώστες μας να μείνουν περισσότερη ώρα στην σελίδα μας. Ξεκινάμε γράφοντας τον παρακάτω κώδικα στο single.php:</p><pre>
&lt;?php  //for use in the loop, list 5 post titles related to first tag on current post
  $backup = $post;  // backup the current object
  $tags = wp_get_post_tags($post-&gt;ID);
  $tagIDs = array();
  if ($tags) {
    $tagcount = count($tags);
    for ($i = 0; $i &lt; $tagcount; $i++) {
      $tagIDs[$i] = $tags[$i]-&gt;term_id;
    }
    $args=array(
      'tag__in' =&gt; $tagIDs,
      'post__not_in' =&gt; array($post-&gt;ID),
      'showposts'=&gt;5,
      'caller_get_posts'=&gt;1
    );
    $my_query = new WP_Query($args);
    if( $my_query-&gt;have_posts() ) {
      while ($my_query-&gt;have_posts()) : $my_query-&gt;the_post(); ?&gt;
        &lt;h3&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark" title="&lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt;
      &lt;?php endwhile;
    } else { ?&gt;
      &lt;h2&gt;No related posts found!&lt;/h2&gt;
    &lt;?php }
  }
  $post = $backup;  // copy it back
  wp_reset_query(); // to use the original query again
?&gt;
</pre><p>Για να αλλάξετε τον αριθμό των άρθρων που εμφανίζεται, στο <em>&#8216;showposts&#8217;=&gt;5</em>, αλλάξτε το 5 με τον αριθμό που θέλετε εσείς.</p><p>Πηγή: <a
href="http://www.3mind.at/2009/05/06/code-highlighting/">Code Highlighting</a></p><hr
/><h1>Μεμονομένα στυλ ανά άρθρο</h1><p>Ένα καλό κόλπο που μπορούμε να χρησιμοποιήσουμε για να κάνουμε κάθε άρθρο διαφορετικό, είναι να έχουμε διαφορετικά styles για κάποια από τα άρθρα μας. Έτσι μπορούμε ανάλογα με το περιεχόμενο του άρθρου μας, μπορούμε να βάλουμε και τα ανάλογα styles ώστε να κάνουμε την σελίδα μοναδική.</p><p>Πρώτα από όλα στο αρχείο single.php πρέπει να βρούμε την γραμμή:</p><pre>
&lt;div class="post"&gt;
</pre><p>και να την αντικαταστήσουμε με:</p><pre>
&lt;div id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class(); ?&gt;&gt;
</pre><p>Το μόνο που μένει να κάνουμε τώρα είναι να δώσουμε styles στο κάθε άρθρο γράφοντας CSS που θα στοχεύουν το άρθρο (<em>για παράδειγμα #post-XXX</em>) μέσα στο style.css του θέματος μας.</p><pre>
#post-112 {
    background: #113355;
    color:#069;
    font-weight:bold;
}
</pre><p>Πηγή: <a
href="http://www.wprecipes.com/fahirsch-asked-how-to-style-posts-individually">Fahirsch Asked How to Style Posts Individually</a></p><hr
/><h1>Προσθήκη σύντομου βιογραφικού του συγγραφέα στα άρθρα</h1><p>Σε πολλά WordPress (όπως και στο GreekTuts) θα βρείτε κάτω από το κάθε άρθρο κάποια στοιχεία για τον συγγραφέα του άρθρου. Αυτό για να το πετύχουμε ανοίγουμε το αρχείο single.php και γράφουμε τον παρακάτω κώδικα στο σημείο που θέλουμε να εμφανίσουμε τα στοιχεία του συντάκτη:</p><pre>
&lt;div id="author-bio"&gt;
	&lt;h3&gt;About &lt;?php the_author(); ?&gt;&lt;/h3&gt;
	&lt;?php echo get_avatar( get_the_author_email(), '70' ); ?&gt;
	&lt;?php the_author_description(); ?&gt;
&lt;/div&gt;
</pre><p>Τώρα το μόνο που μένει είναι να γράψουμε τα δικά μας CSS μέσα στο αρχείο style.css.</p><pre>
#author-bio { border-top: 1px dotted #cccccc; padding: 15px 0; }
#author-bio h3 { font-size: 16px; margin: 0 0 5px 0; }
#author-bio img { float: left; padding: 2px; border: 1px solid #cccccc; margin: 5px 15px 0 0; }
</pre><hr
/><h1>Αυτόματα σύντομα URL με το Bit.ly</h1><p>Η προσθήκη σύντομων links προς τα άρθρα μας μπορεί να ωθήσει προς τα πάνω την κίνηση στην σελίδα μας, αλλά με τα διάφορα όρια σε χαρακτήρες σε διάφορα social sites (όπως το όριο 140 χαρακτήρων του Twitter) τις περισσότερες φορές χαραμίζουμε πολλούς χαρακτήρες .</p><p>Με τον παρακάτω κώδικα θα δημιουργούμε έναν νέο shortlink με το Bit.ly για κάθε άρθρο που θα γράφουμε. Στο αρχείο functions.php γράφουμε τον κώδικα:</p><pre>
function bitly($url) {
    $content = file_get_contents("http://api.bit.ly/v3/shorten?login=YOURLOGIN
    &amp;apiKey=YOURAPIKEY
    &amp;longUrl=".$url."&amp;format=xml");
    $element = new SimpleXmlElement($content);
    $bitly = $element-&gt;data-&gt;url;
    if($bitly){
        echo $bitly;}
    else{
       echo '0';
    }
}
</pre><p>Τώρα για να εμφανίσουμε το shortlink και να επιτρέψουμε στους επισκέπτες μας να το κάνουν copy/paste γράφουμε στο αρχείο single.php μέσα στο loop τον κώδικα:</p><pre>
&lt;?php bitly(get_permalink($post-&gt;post_id)); ?&gt;
</pre><p>Πηγή: <a
href="http://woorkup.com/2010/12/21/5-practical-ways-to-integrate-url-shortening-services-on-your-blog/">5 Practical Ways to Integrate URL Shortening Services on Your Blog</a></p><hr
/><h1>Δημιουργία ενός Ajax Auto-complete πεδίου αναζήτησης</h1><p>Όταν οι επισκέπτες σας κάνουν αναζητήσεις μέσω της φόρμας αναζήτησης της ιστοσελίδας σας, μπορείτε να τους βοηθήσετε, συμπληρώνοντας αυτόματα τις λέξεις που γράφουν καθώς τις πληκτρολογούν. Για αυτό το κόλπο θα χρειαστείτε <a
href="http://jquery.com/">jQuery</a> , και το plugin <a
href="http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/">autocomplete</a>.</p><p>Στο header.php του θέματος σας γράφετε τον παρακάτω κώδικα για να συμπλεριλάβετε την βιβλιοθήκη και το plugin με τα css του:</p><pre>
&lt;script type="text/javascript" src="&lt;?php bloginfo('template_directory'); ?&gt;/js/jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="&lt;?php bloginfo('template_directory'); ?&gt;/js/jquery.autocomplete.pack.js"&gt;&lt;/script&gt;
&lt;link rel="stylesheet" type="text/css" href="&lt;?php bloginfo('template_directory'); ?&gt;/js/jquery.autocomplete.css" media="screen" /&gt;
</pre><p>Τώρα μένει να προσθέσετε στον παρακάτω κώδικα στο σημείο <em>$(&#8220;#ID_OF_SEARCH_INPUT_BOX&#8221;)</em> το πραγματικό ID της φόρμας αναζήτησης της σελίδας σας, και να τον προσθέσετε στο head ή πρίν το κλείσιμο του body στον κώδικα σας.</p><pre>
&lt;script type="text/javascript"&gt;
$(document).ready(function(){
    var data = '&lt;?php global $wpdb; $search_tags = $wpdb-&gt;get_results("SELECT name FROM $wpdb-&gt;terms"); foreach ($search_tags as $mytag){ echo $mytag-&gt;name. " "; } ?&gt;'.split(" ");
    $("#ID_OF_SEARCH_INPUT_BOX").autocomplete(data);
})
&lt;/script&gt;
</pre><p>Πηγή: <a
href="http://wphacks.com/how-to-create-an-ajax-based-autocompleting-search-field-for-your-wordpress-theme/">How to Create an Ajax Based Autocompleting Search Field for Your WordPress Theme</a></p><hr
/><h1>Επίλογος</h1><p>Αυτά είναι τα 10 καλύτερα tricks/tips και hacks για το WordPress όπως αυτά προκύπτουν από τις μηχανές αναζήτησης και τις αναζητήσεις στις περισσότερες ιστοσελίδες με βοηθήματα και άρθρα για το WordPress!</p><p>Έχετε κάποιο να προσθέσετε; Γράψτε μας από κάτω στα σχόλια !</p> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/10-best-wordpress-hacks/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>WordPress 3.4 Beta</title><link>http://greektuts.net/wordpress-3-4-beta/</link> <comments>http://greektuts.net/wordpress-3-4-beta/#comments</comments> <pubDate>Thu, 05 Apr 2012 07:35:50 +0000</pubDate> <dc:creator>Pantso</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[wordpress 3.4]]></category> <category><![CDATA[wp]]></category> <guid
isPermaLink="false">http://greektuts.net/?p=5719</guid> <description><![CDATA[Η νέα έκδοση του WordPress δώθηκε στην κυκλοφορία σήμερα, και όλοι όσοι θέλουν να την δοκιμάσουν, μπορούν να την κατεβάσουν από τον επίσημο ιστότοπο και να "παίξουν" μαζί της μέχρι να βγεί η σταθερή έκδοση. Ας δούμε μερικά νέα χαρακτηριστικά που μας φέρνει η νέα έκδοση]]></description> <content:encoded><![CDATA[<p>Κάποια από τα νέα χαρακτηριστικά που έρχονται με την έκδοση 3.4 του WordPress είναι</p><ul><li>Διαμόρφωση και προσωποποίηση των θεμάτων με live preview</li><li>Ελαστικά μεγέθη στις εικόνες του Custom Header Sizes</li><li>Επιλογή Header και Background εικόνων από την Media Library</li><li>Ανεπτυγμένες επιλογές αναζήτησης και επιλογής θεμάτων</li></ul><p>Και μερικές αλλαγές στα πιο τεχνικά κομμάτια του WordPress</p><ul><li>Νέο XML-RPC API για εξωτερικές και mobile εφαρμογές</li><li>Νέο API για τα custom headers και backgrounds</li><li>Βελτίωση της απόδοσης του WP_Query</li><li>Βελτιώσεις στις επιλογές γλωσσών και τοπικών ρυθμίσεων</li><li>Αλλαγές και βελτιστοποίηση στα APIs όταν δουλέυουμε με λίστες εγκατεστημένων θεμάτων</li><li>Υποστήριξη για την εγκατάσταση child themes από το επίσημο Themes Directory</li></ul><p>Μπορείτε να κατεβάσετε την νέα έκδοση από την <a
href="http://wordpress.org/news/2012/04/wordpress-3-4-beta-1/" target="_blank">επίσημη ιστοσελίδα του WordPress</a>, να την εγκαταστήσετε τοπικά για να την δοκιμάσετε, και αν βρείτε κάποιο bug ή κάποιο πρόβλημα γενικότερα να το αναφέρετε στο <a
href="http://wordpress.org/support/forum/alphabeta" target="_blank">beta/alpha forum</a>.</p><hr
/><h1>Live Previewer</h1><blockquote><p><img
class="aligncenter size-full wp-image-5723" title="wp34_2" src="http://static.greektuts.net/uploads/2012/04/wp34_2.jpg" alt="" width="540" height="500" /></p></blockquote><p>&nbsp;</p><blockquote><p><img
class="aligncenter size-full wp-image-5724" title="wp34_3" src="http://static.greektuts.net/uploads/2012/04/wp34_3.jpg" alt="" width="540" height="500" /></p></blockquote><hr
/><h1>Media Library</h1><blockquote><p><img
class="aligncenter size-full wp-image-5726" title="wp34_1" src="http://static.greektuts.net/uploads/2012/04/wp34_1.jpg" alt="" width="540" height="500" /></p></blockquote> ]]></content:encoded> <wfw:commentRss>http://greektuts.net/wordpress-3-4-beta/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <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>2</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>14</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> </channel> </rss>
