posted by qubix on March 15, 2014

Λοιπόν..μόλις βάλαμε το ωραίο μας theme και διαπιστώνουμε πως έχει κάνει register ένα menu το οποίο δεν είναι πουθενά στο admin panel και φυσικά δεν υπάρχει καμία page 'Home'..πριν πάθουμε εγκεφαλικό, ας πούμε λίγο πως ένα theme δημιουργεί ένα menu από το πουθενά.

Κάπου λοιπόν στον φάκελο του εκάστοτε theme έχει κάποιο αρχείο header.php ή κάπως έτσι.
Μέσα στο αρχείο θα βρείτε ένα κομμάτι κώδικα σαν τον παρακάτω


wp_nav_menu( array(
    'theme_location' => 'header-menu',
    'container'      => false,
    'menu_class'     => 'menu horizontal-menu header-menu',
    'menu_id'        => 'header-menu',
    'items_wrap'     => '
%3$s') );

Ο παραπάνω κώδικας χρησιμοποιεί μια function του wordpress framework ώστε να πει πως ένα μενού, το header-menu, έχει τα παρακάτω χαρακτηριστικά που περιγράφει.
Το ερώτημα είναι πως ακριβώς και το σημαντικότερο, που ορίζει το theme πως θέλει το μενού και ποια στοιχεία έχει;
Ο κώδικας που ψάχνουμε είναι κάτι σαν το παρακάτω:


    register_nav_menus( array(
        'header-menu'  => __( 'Header Menu', 'decode' ),
        'sidebar-menu' => __( 'Sidebar Menu', 'decode' ),
        'footer-menu' => __( 'Footer Menu', 'decode' )
    ) );


Το παραπάνω είναι πιθανό να το βρείτε σε κάποιο αρχείο functions.php και όπως βλέπουμε λέει στο wordpress να αναγνωρίζει όχι ένα, αλλά τρία μενού.

Και πάλι όμως δεν έχουμε ιδέα τι γίνεται με τα στοιχεία του μενού...

Δυστυχώς κάπου τώρα θα πρέπει να υπάρχει κάτι σαν το παρακάτω:
function _page_menu_args( $args ) {
    $args['show_home'] = true;
    return $args;
}


Όπου το βρείτε λοιπόν, αρκεί να αλλάξετε το "true" σε ότι θέλετε πχ Αρχική, Σπιτάκι οτιδήποτε και θα αλλάξει και στο menu που βλέπετε!

hyperworks