Διαφορετικά sidebars για άρθρα και σελίδες.

Post Pic
στις 03.04.10. Kατηγορίες Οδηγος Χρήσης με 3 Σχόλια

Σε αυτό το βοήθημα για τον Μήνα WordPress, η Ειρήνη, που διατηρεί μια από τις καλύτερες ελληνικές ιστοσελίδες με θέματα για το WordPress, θα μας δείξει πως να δημιουργήσουμε διαφορετικά sidebars για τα άρθρα μας και για τις σελίδες μας. Έτσι όταν διαβάζουμε ένα άρθρο θα εμφανίζεται διαφορετικό sidebar από όταν διαβάζουμε μια στατική σελίδα.

Το πλευρικό πάνελ (Sidebar) είναι πολύ χρήσιμο μέρος του blog μας. Θα το έχετε παρατηρήσει όμως ότι γεμίζει πολύ γρήγορα .Τι θα λέγατε αν για κάθε άρθρο ή σελίδα θα είχατε διαφορετικό sidebar;Ας δούμε πώς να το κάνουμε.

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

Αντιγράψτε το αρχείο sidebar.php του θέματός σας και αποθηκεύστε το με διαφορετικό όνομα, π.χ. sidebar-post.php και κάντε αλλαγές που θέλετε. Ανοίξτε το αρχείο single.php και βρείτε την συνάρτηση

get_sidebar();

Αντικαταστήστε την με τον παρακάτω κώδικα

$sidebar = get_post_meta($post->ID, "sidebar", true);
get_sidebar($sidebar);

Στα άρθρα όπου θέλετε να εμφανίζετε το sidebar-post δημιουργήστε νέο προσαρμοσμένο πεδίο με το όνομα sidebar και την τιμή post

Αν δεν θα προσθέσετε αυτό το προσαρμοσμένο πεδίο θα εμφανίζεται το βασικό sidebar.
Το ίδιο μπορείτε να κάνετε και με τις σελίδες, αλλάζοντας το αρχείο page.php.

Αν θέλετε ίδιο sidebar για όλα τα άρθρα (στο παράδειγμά μας sidebar-post) τότε στο αρχείο single.php πρέπει να αντικαταστήσετε την συνάρτηση

get_sidebar();

με τον παρακάτω κώδικα

 include (“sidebar-post.php”);

Το ίδιο μπορείτε να κάνετε και με τις σελίδες και με τα αρχεία, αλλάζοντας page.php και archive.php.
Ας δούμε πως μπορούμε να κάνουμε αυτά τα sidebars widget-ready,δλδ για να προσθέτουμε εύκολα κάποιες πληροφορίες στο πλευρικό πάνελ χωρίς την επεξεργασία του κώδικα.

Widgets είναι μονάδες που μπορείτε να προσθέσετε στο πλευρικό πάνελ του blog σας με τον Drag and Drop τρόπο. Είναι πολύ εύκολα στην χρήση. Υπάρχουν άπειρα widgets που μπορείτε να κατεβάσετε από την επίσημη σελίδα του wordpress (http://wordpress.org/extend/plugins/tags/widget).

Ανοίξτε το αρχείο functions.php του θέματος σας και βρείτε τον κώδικα παρόμοιο με αυτόν

if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'Sidebar',
'before_title' => '

', 'after_title' => '

', 'before_widget' => '
', 'after_widget' => '
', ));

Αντιγράψτε τον (εκτός πρώτης γραμμής) και επικολλήστε αμέσως μετά αλλάζοντας μόνο το όνομα ‘name’=>,στο παράδειγμά μας sidebar-post

if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'Sidebar',
'before_title' => '

', 'after_title' => '

', 'before_widget' => '
', 'after_widget' => '
', )); register_sidebar(array( 'name' => 'Sidebar-post', 'before_title' => '

', 'after_title' => '

', 'before_widget' => '
', 'after_widget' => '
', ));

Πατήστε ‘Ενημέρωση αρχείου’. Πηγαίνετε στο μενού ‘Εμφάνιση-Μονάδες’ και δείτε το αποτέλεσμα.

Ανοίξτε το αρχείο sidebar-post που δημιουργήσατε στην αρχή, βρείτε τον κώδικά

php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar(1) )

Και αλλάξτε τον αριθμό (1) με το (2),δλδ με τον αριθμό της σειράς που έχει στο αρχείο functions.php

php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar(2) )

Με αυτόν τον τρόπο μπορείτε να προσθέσετε και άλλα widget-ready sidebars.

Tags: , , , , , , , , , , , ,

Irior { Προσωπική Ιστοσελίδα / Άρθρα Στο GreekTuts }
Η Ειρήνη διατηρεί μια από τις καλυτερες ιστσοσελίδες για το WordPress στο ελληνικό διαδίκτυο, το wpthemes.gr, στο οποίο μπορείτε να βρείτε πλήρως εξελληνισμένα θέματα για το WordPress.

3 Σχόλια στο άρθρο Διαφορετικά sidebars για άρθρα και σελίδες.

  • Σας ευχαριστώ παιδιά!Πολύ καλό ξεκίνημα με τα βοηθήματα!

  • Pantso says:

    Ειρήνη πολύ καλή δουλειά και πολύ καλή ιδέα. Σε ευχαριστούμε πολύ.

  • Basilakis says:

    Πολύ σωστή η Ειρήνη! Υπάρχει πάντα και ένας δεύτερος τρόπος όπως στα περισσότερα πράγματα!

    Αρχεία:
    sidebar.php
    sidebar-2.php

    Και στο single.php χρησιμοποιούμε το
    ενώ στο page.php χρησιμοποιούμε το

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>