Hallo,
ich habe mir eine kleine Funktion geschrieben, welche eine Navigation durch die Blogseiten erlaubt.
Jetzt ist es so, dass beim Aufruf des Blogs nur 3 Seiten angezeigt werden. Sobald man aber über die Funktion eine Seite aufruft, werden 4 (die korrekte Anzahl) gezeigt.
Ansehen kann man sich das Problem unter: http://sabrinam%c3%bcller.de
Die Funktion ist in der functions.php abgelegt und sieht wie folgt aus:
function showPageNumbers($paged,$numbers)
{
global $wp_query;
if(!isset($paged) || empty($paged)) $paged = 1;
//Anzahl der Seiten ermitteln
$maxPage = $wp_query->max_num_pages;
$minPage = 1;
//Vorherige und nächste Seite festlegen
If($paged == $minPage)
{
$prevPage = 0;
}else{
$prevPage = $paged - 1;
}
If($paged == $maxPage)
{
$nextPage = 0;
}else{
$nextPage = $paged + 1;
}
//Erste und letzte Seitennummer ermitteln
If($paged <= $numbers)
{
$firstNumber = 1;
}else{
$firstNumber = $paged - floor(($numbers - 1) / 2);
}
If($paged > ($maxPage - ceil(($numbers - 1) / 2)))
{
$lastNumber = $maxPage;
}else{
$lastNumber = $paged + ceil(($numbers - 1) / 2);
}
//Rückgabestring bauen
$firstString = '<a href="?paged='.$minPage.'"> << </a> ';
$lastString = '<a href="?paged='.$maxPage.'"> >> </a>';
if($prevPage == 0){
$prevString = '';
}else{
$prevNumber = $prevPage;
$prevString = '<a href="?paged='.$prevNumber.'"> < </a> ';
}
if($nextPage == 0){
$nextString = '';
}else{
$nextNumber = $nextPage;
$nextString = '<a href="?paged='.$nextNumber.'"> > </a> ';
}
$numberString = '';
for($i = $firstNumber; $i < ($lastNumber + 1); $i++)
{
if($i == $paged){
$numberString .= '<a href="?paged='.$i.'" ><span id="activePage">'.$i.'</span> </a> ';
}else{
$numberString .= '<a href="?paged='.$i.'">'.$i.' </a> ';
}
}
echo $firstString.$prevString.$numberString.$nextString.$lastString;
}
Alles anzeigen
Für gute Ideen und Lösungsansätze wäre ich dankbar ;)
Danke schonmal für eure Antworten.