äh..nein?
:D ich glaub ich werd hier total bescheuert.. ich habe jetzt sage und schreibe 11 "Tutorials" zu diesem Thema durchgelesen. Mal wirds so gemacht, mal so, mal fehlt hier bissle was und mal da... ich bekomms einfach nicht gebacken.
Auch wenn ich wert auf verständnis lege, bitte! ich schildere dir/euch jetzt nochmal alles was ich gemacht habe. Und dann möchte ich bitte bitte nur noch erfahren, wo welcher Code falsch ist und was stattdessen hinmuss. Bitte!:
Ziel: Pages (page.php) sollen ne andre Sidebar haben wie Posts (index/single.php)
functions.php
statt
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
habe ich:
if ( function_exists('register_sidebar') )
register_sidebar(array('name'=>'sidebar1',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
register_sidebar(array('name'=>'sidebar2',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
));
Alles anzeigen
Ich weiß! Da gibts auch andere Möglichkeiten wie ich gelesen habe (mit parameter bei register_sidebarS() und so. Dieses "s" wird übrigens in den tuts sehr häufig mal weggelassen und mal ists da. Versteh ich auch nicht so ganz)
Jetzt gibts in meinem Backend -> Darstellung -> Widgets die "Sidebar1" und "Sidebar2" zum auswählen.
Ich lege nun sidebar2.php an und bennene sidebar.php um in sidebar1.php
sidebar1.php
<?php
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar1') ) : ?>
HIer wusste ich auch nicht ob da als Parameter nun in Anführungszeichen schreibt oder nicht, oder ob nur ne 1 reinkommt oder garnix oder wie oder was.
In sidebar2.php steht das gleiche, nur mit 'sidebar2' als Parameter!
So, bis hier steht in der Page.php: <?php get_sidebar('sidebar1'); ?>
Und das funktioniert. Die Sidebar1 wird angezeigt. Aber:
page.php
statt
<?php get_sidebar(); ?>
bzw
<?php get_sidebar('sidebar1'); ?>
schreibe ich
<?php get_sidebar('sidebar2'); ?>
auch hier: Anführungszeichen? Einfach nur ne 2? Andres? Oder sogar:
<?php include("sidebar2.php"); ?>
?
Habs mit und ohne anführungszeichen probiert. Es wird immer, egal welche von diesen möglichkeiten ich nehme, die Sidebar 1 angezeigt. Außer beim Inlcude, da kommt dann garnichts :-/
Bitte bitte bitte..! Ich werd irre
Wenn ich das dann mal hinkriege, dann werd ich sofort n ausführliches deutsches Tutorial für nicht-php'ler schreiben!
weinachtliche Grüße!
Sumit