WordPress – Plugins WP-PageNavi sollte in keinem Blog fehlen. Mit ein paar einfachen Tricks kann man PageNavi Ausgabe in einem WordPress-Theme auch ohne Plugin plazieren. Man fragt sich was gibt den Plugin dem Blog überhaupt?
Na ja ich sag bessere übersicht und Bequemlichkeit für User.
Die Anzahl der indexierten Seiten und öffene Links in Bezug auf die Optimierung (SEO). Es kann man naturlich ein WP-PageNavi Plugin runterladen, activieren und man hat das gleiche effekt
wordpress-tipps

(wordpress.org/extend/plugins/wp-pagenavi/).
Aber ein zusätzliche plugin gibt auch zusätzlich mehr anfragen auf database, was macht Blog immer langsamer.

Fazit: Bevor man ein plugin installiert, richtig nachdenken ob man ihn wirklich braucht.

Manche sachen kann man auch ohne plugins ins leben rufen, mit einfachem Tricks.

Anleitung:

functions.php offnen und unten folgendes einfühgen

### Function: Page Navigation Options

function pagenavi_init() {

$pagenavi_options = array();

$pagenavi_options['pages_text'] = __(‘Page %CURRENT_PAGE% of %TOTAL_PAGES%’,'wp-pagenavi’);

$pagenavi_options['current_text'] = ‘%PAGE_NUMBER%’;

$pagenavi_options['page_text'] = ‘%PAGE_NUMBER%’;

$pagenavi_options['first_text'] = __(‘« Erste’,'wp-pagenavi’);

$pagenavi_options['last_text'] = __(‘Letzte »’,'wp-pagenavi’);

$pagenavi_options['next_text'] = __(‘»’,'wp-pagenavi’);

$pagenavi_options['prev_text'] = __(‘«’,'wp-pagenavi’);

$pagenavi_options['dotright_text'] = __(”,’wp-pagenavi’);

$pagenavi_options['dotleft_text'] = __(”,’wp-pagenavi’);

$pagenavi_options['style'] = 1;

$pagenavi_options['num_pages'] = 12;

$pagenavi_options['always_show'] = 0;

return $pagenavi_options;

}


### Function: Page Navigation: Boxed Style Paging

function wp_pagenavi($before = ”, $after = ”) {

global $wpdb, $wp_query;

$pagenavi_options = array();

$pagenavi_options = pagenavi_init();

 

if (!is_single()) {

$request = $wp_query->request;

$posts_per_page = intval(get_query_var(‘posts_per_page’));

$paged = intval(get_query_var(‘paged’));

$numposts = $wp_query->found_posts;

$max_page = $wp_query->max_num_pages;

 

/*

$numposts = 0;

if(strpos(get_query_var(‘tag’), ” “)) {

preg_match(‘#^(.*)\sLIMIT#siU’, $request, $matches);

$fromwhere = $matches[1];

$results = $wpdb->get_results($fromwhere);

$numposts = count($results);

} else {

preg_match(‘#FROM\s*+(.+?)\s+(GROUP BY|ORDER BY)#si’, $request, $matches);

$fromwhere = $matches[1];

$numposts = $wpdb->get_var(“SELECT COUNT(DISTINCT ID) FROM $fromwhere”);

}

$max_page = ceil($numposts/$posts_per_page);

*/

if(empty($paged) || $paged == 0) {

$paged = 1;

}

$pages_to_show = intval($pagenavi_options['num_pages']);

$pages_to_show_minus_1 = $pages_to_show-1;

$half_page_start = floor($pages_to_show_minus_1/2);

$half_page_end = ceil($pages_to_show_minus_1/2);

$start_page = $paged – $half_page_start;

if($start_page < = 0) {

$start_page = 1;

}

$end_page = $paged + $half_page_end;

if(($end_page – $start_page) != $pages_to_show_minus_1) {

$end_page = $start_page + $pages_to_show_minus_1;

}

if($end_page > $max_page) {

$start_page = $max_page – $pages_to_show_minus_1;

$end_page = $max_page;

}

if($start_page < = 0) {

$start_page = 1;

}

if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) {

$pages_text = str_replace(“%CURRENT_PAGE%”, number_format_i18n($paged), $pagenavi_options['pages_text']);

$pages_text = str_replace(“%TOTAL_PAGES%”, number_format_i18n($max_page), $pages_text);

echo $before.’<div class=”wp-pagenavi”>’.”\n”;

switch(intval($pagenavi_options['style'])) {

case 1:

 

if(!empty($pages_text)) {

echo ‘<span class=”pages”>’.$pages_text.’</span>’;

}

if ($start_page >= 2 && $pages_to_show < $max_page) {

$first_page_text = str_replace(“%TOTAL_PAGES%”, number_format_i18n($max_page), $pagenavi_options['first_text']);

echo ‘<a href=”‘.clean_url(get_pagenum_link()).’” title=”‘.$first_page_text.’”>’.$first_page_text.’’;

if(!empty($pagenavi_options['dotleft_text'])) {

echo ‘<span class=”extend”>’.$pagenavi_options['dotleft_text'].’</span>’;

}

}

previous_posts_link($pagenavi_options['prev_text']);

for($i = $start_page; $i < = $end_page; $i++) {

if($i == $paged) {

$current_page_text = str_replace(“%PAGE_NUMBER%”, number_format_i18n($i), $pagenavi_options['current_text']);

echo ‘<span class=”current”>’.$current_page_text.’’;

} else {

$page_text = str_replace(“%PAGE_NUMBER%”, number_format_i18n($i), $pagenavi_options['page_text']);

echo ‘<a href=”‘.clean_url(get_pagenum_link($i)).’” title=”‘.$page_text.’”>’.$page_text.’</a>’;

}

}

next_posts_link($pagenavi_options['next_text'], $max_page);

if ($end_page < $max_page) {

if(!empty($pagenavi_options['dotright_text'])) {

echo ‘<span class=”extend”>’.$pagenavi_options['dotright_text'].’’;

}

$last_page_text = str_replace(“%TOTAL_PAGES%”, number_format_i18n($max_page), $pagenavi_options['last_text']);

echo ‘<a href=”‘.clean_url(get_pagenum_link($max_page)).’” title=”‘.$last_page_text.’”>’.$last_page_text.’</a>’;

}

break;

case 2;

echo ‘<form action=”‘.htmlspecialchars($_SERVER['PHP_SELF']).’” method=”get”>’.”\n”;

echo ‘<select size=”1″ onchange=”document.location.href = this.options[this.selectedIndex].value;”>’.”\n”;

for($i = 1; $i < = $max_page; $i++) {

$page_num = $i;

if($page_num == 1) {

$page_num = 0;

}

if($i == $paged) {

$current_page_text = str_replace(“%PAGE_NUMBER%”, number_format_i18n($i), $pagenavi_options['current_text']);

echo ‘<option value=”‘.clean_url(get_pagenum_link($page_num)).’” selected=”selected” class=”current”>’.$current_page_text.”\n”;

} else {

$page_text = str_replace(“%PAGE_NUMBER%”, number_format_i18n($i), $pagenavi_options['page_text']);

echo ‘<option value=”‘.clean_url(get_pagenum_link($page_num)).’”>’.$page_text.”</option>\n”;

}

}

echo “</select>\n”;

echo “</form>\n”;

break;

}

echo ‘</div>’.$after.”\n”;

}

}

}

 

 

Im Hauptindex-Template (index.php) hach (je nach Design und Thema)
< ?php endwhile; ?>
Plazieren
< ?php wp_pagenavi(); ?>
Meist ist der fall für Ältere WP
WordPress-PageNavi ohne Plugin Teil 2