Motyw wordpressa (14) - 3 kolumny

Najprościej zrobić 3-kolumnowy motyw tak, że 2 kolumny są obok siebie. Przy pomocy stylów można je ustawić albo po lewej albo prawej stronie kolumny środkowej. Próbowałam na różne sposoby ustawić style ale chyba się nie da rozdzielić tych kolumn i dać je po obu stronach kolumny środkowej. Sporo skórek dla wordpressa jest tak zrobionych, że 2 kolumny boczne sa przylepione do siebie i ustawione z boku. Pewnie dlatego że tak jest najprościej.

Najprostsza metoda to skopiowanie sidebar.php z takiego motywu, który ma 2 kolumny po jednej stroni a następnie mała przeróbka functions.php.

<?phpif ( function_exists(‘register_sidebar’) )    register_sidebars(2);?>

W takim przypadku, jeśli masz stworzoną dynamiczną stopkę z widgetami, to przestanie ona działać.

Drugi sposób:

Obecnie ekrany są tak szerokie, że warto robić 3 kolumnowe motywy. Aby zrobić taki motyw należy w miejscu gdzie dany motyw ma się pojawić wstawić następujący kod:

a następnie utworzyć pliki sidebarów o nazwach sidebar-right.php i sidebar-left.php.
Oczywiście powinno to być opisane w stylach tak aby te kolumny boczne pojawiały się w odpowiednich miejscach na stronie.

Następnie aby te kolumy były przystosowane do widgetów należy dokonać zmian w pliku functions.php.

Trzeba zmienić w pliku funcitions.php funkcję wyświetlającą jedną kolumnę:
if ( function_exists(‘register_sidebar’) )
register_sidebar();
?>

na taką która wyświetla więcej kolumn:

if ( function_exists(‘register_sidebar’) )
register_sidebar(array(
‘before_widget’ => ”,
‘after_widget’ => ”,
‘before_title’ => ‘

‘,
‘after_title’ => ‘

‘,
));
?>
Jeśli jest kilka kolumn trzeba nadać im nazwy, w tym przypadku jest to sidebar1, sidebar2. Ta funkcja musi być powtórzona tyle razy ile jest sidebarów.

if ( function_exists(‘register_sidebar’) )
register_sidebar(array(‘name’=>’sidebar1’,
‘before_widget’ => ”,
‘after_widget’ => ”,
‘before_title’ => ‘

‘,
‘after_title’ => ‘

‘,
));
register_sidebar(array(‘name’=>’sidebar2’,
‘before_widget’ => ”,
‘after_widget’ => ”,
‘before_title’ => ‘

‘,
‘after_title’ => ‘

‘,
));
?>

Następnie w plikach sidebar-right.php i sidebar-left.php trzeba wstawić kod, który zmieni tę kolumnę na dynamiczną.

dla sidebar1

|| !dynamic_sidebar(‘sidebar1’) ) : ?>

dla sidebar2

|| !dynamic_sidebar(‘sidebar2’) ) : ?>

Dynamic sidebar to jest miejsce, gdzie wordpress może wyświetlić widgety. Można je tworzyć gdzie się chce na stronie.
Aby takie miejsce stworzyć trzeba dodać kolejny dynamiczny sidebar w pliku functions.php, oczywiście nadając mu oryginalną nazwę.

register_sidebar(array(‘name’=>’jakissidebar’,
‘before_widget’ => ”,
‘after_widget’ => ”,
‘before_title’ => ‘

‘,
‘after_title’ => ‘

‘,
));

Następnie kod wstawić w odpowiednie miejsce, gdzie chcemy wstawiać widgety.

|| !dynamic_sidebar(‘jakissidebar’) ) : ?>

W tym przypadku jeśli nie ustawisz widgetów w adminie wyświetli się po prostu puste miejsce.

Jeśli tworzy się skórkę dla siebie nie będzie żadnych z tym problemów, bo wiemy ile i jakie widgety mamy wstawić. Natomiast jeśli tworzysz motyw dla kogoś lub do sprzedania, trzeba z tym raczej uważać. Np. jeśli stworzysz miejsce na widgety w stopce, gdzie zmieszczą się 3 widgety, a ktoś umieści tam 6 widgetów to strona może się rozjechać. Dlatego jest sens tworzyć je tam gdzie jest dużo miejsca, np. na kolumnach bocznych.
Ciekawym efektem jest umieszczanie różnych dynamicznych sidebarów na page.php, single.php itd. Wtedy na stronach statycznych, pojedynczych wpisać będą się wyświetlały inne widgety. Jeśli zapiszesz stronę index.php pod nazwą category.php i wgrasz na serwer, wordpress będzie wyświetlał strony kategorii w taki sposób jak opiszesz na tej stronie.

Leave a reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.