guten abend,
habe da eine Frage
kann ich mit diesem Plugin auch dastellen wie viele Seiten es momentan gibt?
Meine das dann so:
1 von 67 <<1 2 3 ... XXX ... 56 57 >>
Hier mal der inhalt des plugins, damit man sich das plugin nicht runter braucht. Hoffe jemand hat Rat.
Danke und Gruß
PHP
/* -------------------------------------------------------------------------------------------- */
function transit($place) {
global $pbOptions;
if ($place>0)
echo '<span class="break">'.$pbOptions["connect"].'</span>';
}
// -----------------------------------------------------------------------------
function replaceFirstLast($page) {
global $pbOptions, $max_page;
switch ($page) {
case 1: return $pbOptions['first'];
case $max_page: return $pbOptions['last'];
default: return $page;
}
}
// -----------------------------------------------------------------------------
function tagReplace($text, $page) {
global $max_page;
$text = str_replace("{page}", $page, $text);
$text = str_replace("{current}", $page, $text);
$text = str_replace("{total}", $max_page, $text);
return $text;
}
// -----------------------------------------------------------------------------
// display tooltips
function tooltip($page)
{
global $pbOptions;
if ($pbOptions["tooltips"])
return ' title="' . tagReplace($pbOptions["tooltipText"], $page) .'"';
return "";
}
// -----------------------------------------------------------------------------
function page($page) {
global $pbOptions;
echo tagReplace('<a href="' . get_pagenum_link($page) . '"' . tooltip($page) . ">" .
replaceFirstLast($page) . "</a>\n", $page);
}
// -----------------------------------------------------------------------------
function thisPage($page) {
global $pbOptions;
echo tagReplace('<span class="current">'.replaceFirstLast($page).
"</span>\n", $page);
}
// -----------------------------------------------------------------------------
function previousPage($paged) {
global $pbOptions;
if ($pbOptions["pdisplay"] == "never")
return;
if ( ($paged==1) && ($pbOptions["pdisplay"] == "auto") )
return;
$text = $pbOptions["prev"];
echo ($paged==1)?'<span class="inactive">'.$text."</span>\n":'<a href="'.
get_pagenum_link($paged-1). '"' . tooltip($paged-1).'">'.$text."</a>\n";
}
// -----------------------------------------------------------------------------
function nextPage($paged,$max_page) {
global $pbOptions;
if ($pbOptions["pdisplay"] == "never")
return;
if ( ($paged==$max_page) && ($pbOptions["ndisplay"] == "auto") )
return;
$text = $pbOptions["next"];
echo ($paged==$max_page)?'<span class="inactive">'.$text."</span>\n":'<a href="'.
get_pagenum_link($paged+1).'"'.tooltip($paged+1).'">'.$text."</a>\n";
}
// -----------------------------------------------------------------------------
function wp_pagebar() {
global $paged, $wp_query, $pbOptions,$max_page;
if ($wp_query->is_feed) // no need for pagebar in feed
return;
$showAll = 0;
$left = $pbOptions["left"];
$center = $pbOptions["center"];
$right = $pbOptions["right"];
if (is_single() || is_page()) //no need to display pagebar on a single post page
return;
$max_page = $wp_query->max_num_pages; // get number of pages. ONLY WP >= 2.1!!!
if ($max_page <= 1) // only one page -> don't display pagebar
return;
if (empty($paged)) // If we're on the first page the var $paged is not set.
$paged = 1;
echo '<div class="wp-pagenavi">';
echo tagReplace($pbOptions["pbText"], $page) . ' ';
// it's easy to show all page numbers:
// simply loop and exit
if (($showAll) || ($max_page <= $left+$center+$right)) {
previousPage($paged);
for ($i=1;$i<=$max_page;$i++)
($i==$paged)?thisPage($i):page($i);
nextPage($paged,$max_page);
echo "</div>";
return;
} //if
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// left and right
if ($paged<$left+$center) {
//left
previousPage($paged);
$lc = $left+$center;
for ($i=1;$i<=($lc);$i++)
($i==$paged)?thisPage($i):page($i);
// right
transit($right);
for ($i=$max_page-$right+1;$i<=$max_page;$i++)
page($i);
nextPage($paged,$max_page);
}
// left, right and center
else
if ( ($paged>=$left+$center) && ($paged<$max_page-$right-$center+1) ) {
//left
previousPage($paged);
for ($i=1;$i<=$left;$i++)
page($i);
transit($left);
//center
$c = floor($center/2);
for ($i=$paged-$c;$i<=$paged+$c;$i++)
($i==$paged)?thisPage($i):page($i);
// right
transit($right);
for ($i=$max_page-$right+1;$i<=$max_page;$i++)
page($i);
nextPage($paged,$max_page);
}
// only left and right
else {
//left
previousPage($paged);
for ($i=1;$i<=$left;$i++)
page($i);
transit($left);
// right
for ($i=$max_page-$right-$center;$i<=$max_page;$i++)
($i==$paged)?thisPage($i):page($i);
nextPage($paged,$max_page);
}
echo "</div>";
} //function
/* --------------------------------------------------------------------------- */
function pb_admin_menu() {
if (function_exists('add_options_page'))
add_options_page('Pagebar', 'Pagebar', 'manage_options', 'pagebar2/pboptions.php');
}
/* ---------------------------------------------------------------------------- */
function remove_nav() {
echo "\n<style type=\"text/css\">.navigation{display: none;}</style>\n";
}
/* ---------------------------------------------------------------------------- */
function add_stylesheet() {
global $pbOptions;
if ($pbOptions["stylesheet"]=="styleCss")
return;
$url = get_bloginfo('stylesheet_directory') . '/' . $pbOptions["cssFilename"];
echo "\n\t<link rel=\"stylesheet\" href=\"" . $url . '" ' .
"type=\"text/css\" media=\"screen\" />\n";
}
/* ---------------------------------------------------------------------------- */
function pagebar_init() {
if (! get_option('pagebar'))
add_option('pagebar',
array("left"=>3,"center"=>5,"right"=>3, "pbText"=>"Pages:", "remove"=>"on",
"standard"=>"{page}", "current"=>"{page}", "first"=>"{page}", "last"=>"{page}",
"connect"=>"...","next"=>"Next","prev"=>"Prev",
"tooltipText"=>"Page {page}", "tooltips"=>"on", "bef_loop"=>"", "aft_loop"=>"on", "footer"=>"",
"pdisplay"=>"auto", "ndisplay"=>"auto", "stylesheet"=>"styleCss", "cssFilename"=>"pagebar.css"));
}
/* ---------------------------------------------------------------------------- */
{
$pbOptions = get_option('pagebar');
add_action('activate_pagebar2/pagebar2.php', 'pagebar_init');
add_action('admin_menu', 'pb_admin_menu');
add_action('wp_head', 'add_stylesheet');
if ($pbOptions["bef_loop"]=="on")
add_action('loop_start', 'wp_pagebar');
if ($pbOptions["aft_loop"]=="on")
add_action('loop_end', 'wp_pagebar');
if ($pbOptions["footer"]=="on")
add_action('wp_footer', 'wp_pagebar');
if ($pbOptions["remove"]=="on")
add_action('wp_head', 'remove_nav');
} //main
?>
Alles anzeigen