Vill du add to numerisk sidonumrering i ditt WordPress theme?
Som standard lägger WordPress themes till en Next / Previous links längst ner på archive pages. Utmaningen är att dessa inte är särskilt användarvänliga. Det är därför många populära bloggar använder numerisk sidonumrering för att göra det lättare för besökare att navigera på sina archive pages.
I den här artikeln visar vi hur du addar numerisk sidonumrering i ditt WordPress theme.
Varför lägga till numerisk sidonumrering i ditt WordPress Theme?
De flesta teman har en page archive som visar en lista över posts. När du publicerar fler blogginlägg på WordPress kommer din archive page att omfatta flera pages.
Links för sidonumrering hjälper besökarna att flytta mellan pages i archive och visas vanligtvis längst ner på din WordPress website.
Vissa WordPress teman använder ”Äldre inlägg” och ”Nyare inlägg” links för sidonumrering. Detta låter dock bara besökaren gå framåt och bakåt med en page.
Den visar inte heller besökarens nuvarande location i archive. Detta kan göra det svårare för besökare att navigera i din bloggs archive.
Det är där numerisk sidonumrering kommer in i bilden.
Istället för att visa ”Older” och ”Newer” links, visar numerisk sidonumrering en serie siffror som låter visitorerna hoppa till en specifik page i archive.
Numerisk sidonumrering kan också använda högdagrar eller olika färger för att visa den aktuella sidans nummer, så att besökaren alltid vet exakt var i arkivet han eller hon befinner sig.
På WPBeginner använder vi numerisk sidonumrering och markerar det aktuella sidnumret i orange. Vi ger också direkta links till de 4 pages som omger besökarens aktuella page.
Vi har till och med en länk till den sista page i vårt archive, så att visitorerna snabbt och enkelt kan se våra tidigaste posts, som du kan se i följande image.
Enligt vår erfarenhet gör den här typen av numerisk sidonumrering din site enklare att navigera på jämfört med standardlänkarna ”Äldre inlägg” och ”Nyare inlägg”.
Om your WordPress theme har ”Older” och ”Newer” sidonumrering rekommenderar vi alltid att du ersätter den med numerisk sidonumrering.
I den här guiden kommer vi att täcka två olika sätt att add to numerisk sidonumrering i ditt WordPress theme. Om du föredrar att hoppa direkt till en viss metod kan du använda länkarna under.
- Metod 1. Hur man addar numerisk sidonumrering i WordPress med WP-PageNavi
- Metod 2. Så här lägger du manuellt till numerisk sidonumrering i ditt WordPress-tema
Metod 1. Hur man addar numerisk sidonumrering i WordPress med WP-PageNavi
Det enklaste sättet att add to numerisk sidonumrering i WordPress är att använda pluginet WP-PageNavi.
För att använda detta plugin måste du fortfarande göra några ändringar i ditt temas kod, men det är mycket enklare än den fullständiga kodmetoden eftersom WP-PageNavi ger dig fullständig control över din sites sidonumrering.
Det första du behöver göra är att installera och aktivera WP-PageNavi plugin. För mer detaljer, vänligen se vår steg-för-steg guide om hur man installerar ett WordPress plugin.
När du har aktiverat pluginet går du till Settings ” PageNavi för att konfigurera plugin-inställningarna.
Här kan du ersätta texten i sidonumreringen som är standard med din egen text. You kan t.ex. ändra den text som din website använder för länkarna ”First Page” och ”Last Page”.
Du kan också customize de numeriska länkarna för sidonumrering.
I sektionen ”Number Of Pages To Show” kan du välja hur många pages pluginet ska visa i din websites sidonumrering.
Som standard är den inställd på 5, vilket innebär att WP-PageNavi visar direktlänkar till 5 pages.
Som du kan se i screenshot under att om du är på sidan 4, så kommer du att se links till pages 2, 3, 4, 5 och 6.
You kanske vill visa fler pages eller färre pages. För att göra denna ändring skriver du helt enkelt in det nya antalet i fältet ”Number Of Pages To Show”.
Som standard visar pluginet flera större nummer. Detta gör att besökare kan gå vidare med flera pages, med bara ett click.
Som standard visar pluginet tre större siffror som ökar med 10 varje gång. Till exempel 10, 20 och 30.
Vill du använda ett annat intervall, t.ex. 5 eller 20? Skriv då bara in det nya intervallet i fältet ”Visa större sidnummer i multiplar av”.
Alla WordPress webbplatser är olika, så det är en bra idé att prova olika settings för att se vilka inställningar för sidonumrering som fungerar bäst för you.
Om du har gjort några ändringar i WP-PageNavi-inställningarna, glöm inte att rulla längst ner på sidan och klicka på knappen Save Changes.
Därefter måste du lägga till en template tag i ditt WordPress theme. För att göra detta rekommenderar vi att du skapar ett barntema och sedan editerar koden för barntemat.
Genom att skapa ett barntema kan du fortfarande uppdatera ditt WordPress-tema på ett säkert sätt utan att förlora din customze numeriska sidonumrering. Om du vill veta mer kan du läsa vår steg-för-steg guide om hur du skapar ett WordPress barntema.
Oavsett om du väljer att edit ett huvudtema eller ett barntema behöver du en FTP-klient. Om det är första gången du använder FTP kan du se vår kompletta guide om hur du ansluter till din webbplats med FTP.
När du är ansluten till ditt WordPress webbhotell konto via FTP, är du redo att editera koden för ditt WordPress theme.
Dessa steg varierar beroende på ditt WordPress-tema. Du behöver dock vanligtvis editera koden i filen index.php eller archive.php, plus eventuella andra filer med templates för archive i ditt WordPress-tema.
Öppna bara dessa filer och sök sedan efter taggarna previous_posts_link och next_posts_link.
Om du hittar dessa taggar ska du ersätta dem med följande code snippet:
<?php wp_pagenavi(); ?>
Vissa themes kanske ej har en previous_posts_link eller next_posts_link tagged.
Om du inte kan hitta dessa tags i ditt theme, leta då efter the_posts_navigation istället. Du hittar till exempel följande i filen archive.php i temat Twenty Twenty-One:
<?php /*twenty_twenty_one_the_posts_navigation();*/
Du kan sedan gå vidare och ersätta den här raden med följande code snippet:
<?php wp_pagenavi(); ?>
När du har gjort dessa ändringar ska du save och sedan close alla öppna WordPress theme-filer.
Nu, om du besöker din WordPress archive page bör du se din new numeriska sidonumrering live på din website.
Klart är att du kanske vill ändra färg och stil på den numeriska sidonumreringen så att den passar bättre in i ditt theme eller på din website.
Du kan göra detta genom att editera koden för pluginet.
Vi rekommenderar dock att du klistrar in WP-PageNavi-koden i ditt temas style.css-fil och sedan gör dina ändringar i temafilen. Detta innebär att du inte kommer att förlora dina customizes när du uppdaterar WP-PageNavi-pluginet.
För att kopiera din plugin-kod, head över till Settings ” PageNavi. You can then find the ”Use pagenavi-css.css” section and click on the ”No” radio button next to it.
Glöm inte att clicka på knappen ”Save Changes” för att spara dina ändringar.
Gå sedan till Plugins ” Plugin File Editor.
Du kan sedan öppna dropdown ’Select plugin to edit’ och välja ’WP-Page Navi’. Efter det är du redo att klicka på ”Select”.
I menyn till höger klickar du på filen pagenavi-css.css.
Gå sedan vidare och kopiera all kod i den här filen.
Därefter går du helt enkelt till Appearance ” Theme File Editor.
I den högra menyn klickar du på filen style.css i ditt theme.
Du kan nu klistra in din pagenavi-css.css-kod i temats style.css-fil och börja göra dina ändringar.
Låt oss titta på ett exempel. Här är en ändrad version av koden för numerisk sidonumrering som du kan add to your themes style.css-fil:
wp-pagenavi {
clear: both;
}
.wp-pagenavi a, .wp-pagenavi span {
color: #FFF;
text-decoration: none;
background-color:#6FB7E9;
border: 1px solid #B2D1E5;
padding: 5px 5px;
margin: 2px;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
border-color: #E9F2F9;
background-color:#6FB7E9;
}
.wp-pagenavi span.current {
font-weight: bold;
background-color:#3C8DC5;
}
I följande image kan du se hur denna numeriska sidonumrering kommer att se ut på din site.
Det är värt att prova olika stilar för att se vad som ser bäst ut på din WordPress website.
När du är nöjd med hur din numeriska sidonumrering ser ut klickar du på knappen Update File för att save dina ändringar.
Metod 2. Så här lägger du till numerisk sidonumrering manuellt i ditt WordPress Theme
Ett annat alternativ är att manuellt lägga till numerisk sidonumrering i ditt WordPress theme med hjälp av kod.
Många teman i WordPress har inbyggda ”Older” och ”Newer” links, eller numerisk sidonumrering som standard. Till exempel lägger det populära temat Astra automatiskt till sin egen numeriska sidonumrering på dina pages archive, som du kan se i följande image.
Du kan använda den här metoden för att customize ett temas built-in sidonumrering. Du kan till exempel ändra stylingen så att den passar din site bättre.
För att manuellt add to numerisk sidonumrering öppnar du functions.php-filen i ditt theme. Här kan du använda antingen en FTP-klient eller filhanteraren i cPanel på ditt webbhotell i WordPress. Om du använder FTP kan du se vår kompletta guide om hur du ansluter till din site med FTP.
När du har anslutit till din site utan problem öppnar du filen functions.php och add to följande kod:
function wpbeginner_numeric_posts_nav() {
if( is_singular() )
return;
global $wp_query;
/** Stop execution if there's only 1 page */
if( $wp_query->max_num_pages <= 1 )
return;
$paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
$max = intval( $wp_query->max_num_pages );
/** Add current page to the array */
if ( $paged >= 1 )
$links[] = $paged;
/** Add the pages around the current page to the array */
if ( $paged >= 3 ) {
$links[] = $paged - 1;
$links[] = $paged - 2;
}
if ( ( $paged + 2 ) <= $max ) {
$links[] = $paged + 2;
$links[] = $paged + 1;
}
echo '<div class="navigation"><ul>' . "\n";
/** Previous Post Link */
if ( get_previous_posts_link() )
printf( '<li>%s</li>' . "\n", get_previous_posts_link() );
/** Link to first page, plus ellipses if necessary */
if ( ! in_array( 1, $links ) ) {
$class = 1 == $paged ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );
if ( ! in_array( 2, $links ) )
echo '<li>…</li>';
}
/** Link to current page, plus 2 pages in either direction if necessary */
sort( $links );
foreach ( (array) $links as $link ) {
$class = $paged == $link ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
}
/** Link to last page, plus ellipses if necessary */
if ( ! in_array( $max, $links ) ) {
if ( ! in_array( $max - 1, $links ) )
echo '<li>…</li>' . "\n";
$class = $paged == $max ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
}
/** Next Post Link */
if ( get_next_posts_link() )
printf( '<li>%s</li>' . "\n", get_next_posts_link() );
echo '</ul></div>' . "\n";
}
Den här koden ger antalet pages, redo för dig att visa i ditt WordPress theme.
Nästa steg varierar beroende på ditt theme.
Om ditt tema inte har någon form av standardtema för sidonumrering built-in, kan du helt enkelt add to följande template tag i index.php, archive.php, category.php eller någon annan page där du vill visa numerisk sidonumrering.
<?php wpbeginner_numeric_posts_nav(); ?>
Tänk bara på att var du lägger till den här koden kommer att påverka var den numeriska sidonumreringen visas på din website.
Vanligtvis vill du visa sidonumreringen längst ner på dina archive pages, så du vill vanligtvis lägga till template tagged i din footer code.
Har ditt theme redan någon form av sidonumrering, till exempel länkar till ”Äldre inlägg” och ”Nyare inlägg”?
I det här fallet måste du hitta koden för sidonumrering och ersätta den med snippet ovan.
Ashe är till exempel ett av de bästa gratis WordPress blogg themes och lägger redan till ”First” och ”Last page” sidonumrering länkar till dina archive pages.
För att ersätta dessa built-in links med numerisk sidonumrering måste du editera temats templates/grid.php och templates/blog-pagination.php-filer.
I var och en av dessa filer hittar du helt enkelt följande section:
<?php get_template_part( 'templates/grid/blog', 'pagination' ); ?>
Du kan sedan gå vidare och ersätta den här raden med följande code snippet:
<?php wpbeginner_numeric_posts_nav(); ?>
När du har addat koden, glöm inte att save dina ändringar.
Nästa steg är styling av din custom numeriska sidonumrering.
För att hjälpa visitorerna att navigera i archive kommer vi att markera det aktuella sidnumret med en annan färg. För att göra detta, öppna ditt temas style.css-fil och klistra sedan in följande kod i den här filen:
.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
color: #fff;
text-decoration:none;
}
.navigation li {
display: inline;
}
.navigation li a,
.navigation li a:hover,
.navigation li.active a,
.navigation li.disabled {
background-color: #6FB7E9;
border-radius: 3px;
cursor: pointer;
padding: 12px;
padding: 0.75rem;
}
.navigation li a:hover,
.navigation li.active a {
background-color: #3C8DC5;
}
Efter alltihop är det bara att save dina ändringar genom att clicka på knappen Update File.
Om du nu besöker sidan archive ser du den numeriska sidonumreringen live på din website.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du addar numerisk sidonumrering i ditt WordPress theme. You can also go through our guide on ways to make money online blogging with WordPress and how to create a custom WordPress theme without writing any code.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Tom
You really helpped me. Thanks !
Sam
Thanks very helpful
lucky cabarlo
how can i adjust the numbers to show in the custom numeric pagination
spongie
how do you limit the page number to say up to 2 only then show ellipsis?
krishma
can i use this plugin for custom post type
Astra
Of course mate. You just need to put this code into your page-custom.php
Med
Hello,
I found this very useful and I placed it to my new site. The problem is that it works perfect on the first page of the category, and after clicking on the ”Next” link the url changes to /page/2/ but the highlighted page number is aways ”1” and the content is always the first 10 articles (always in the first page).
I think there is something missing in my query:
<a href="”>
’aligncenter’));
} else {
echo ”;
}
?>
Preeti Bhandari
how can i prevent whole page reload when clicking on next link, only want to refresh that particular section… Please help….
Luis Eduardo Braschi
Because ”the goal is to replace the default Older and Newer pagination links at the bottom of archive pages” – and this is what ”your” function does – ”with easy to navigate page numbers.”.
Tony
Hi how do you get just the next and previous links only. thanks.
Barry
How can i use the wpbeginner_numeric_posts_nav(); for my Custom Post type?
I have replaced global $wp_query for
$args = array(
’post_type’ => ’my-cpt’,
’meta_key’=>’cpt_detail’,
’orderby’=>’meta_value’,
’order’ => ’ASC’,
’paged’ => $paged
);
$cpt_query = new WP_Query($args);
and replaced $wp_query reference with $cpt_query but it doesn’t work
igloobob
Hi, did you ever figure this out please? I’m trying to get this working myself and struggling. Would appreciate your help very much if you got it working…
Ashley Michèlle
Using the ’wpbeginner_numeric_posts_nav’ method, how would one change the navigation brackets? I’m not a huge fan of the ’»’.
Thanks!
James George Dunn
Hello Ashley,
You can set a value in the brackets of get_previous_posts_link() and get_next_posts_link(). For example, get_next_posts_link(’Next Post’) will show ”Next Post” instead of the default ”Next Page »”.
AmirMasoud
how can i change ”Next Page” & ”Previous page” text?
TimParkerRD
If you’re using the wpbeginner_numeric_posts_nav function, you can pass custom text to the get_next_posts_links() and get_previous_posts_link(), like so:
get_previous_posts_link(”Go Back”);
Daniel Ortiz
since Genesis Framework is not an open-source framework, are we allowed to use this code, commercially or not?( and are you allowed to distribute it?)
mr anon
thanks a lot
gosukiwi
Awesome, it works like a charm, I did some changes to fix my code though but the code is nice and well organized
Agarwalls
Thanks, Very helpful for me.
SJ
echo paginate_links( $args );
Why this one doesn’t do the job? I’m just curious
SJ
Why this one doesn’t do the job? I’m just curious
Baba agba
I tried it and its not working for me. Can you paste a simple example of your ”paginated posts” code here
Nick
Has anyone had any luck getting this working with a custom WP_Query? It works perfect with the standard loop, but does not show up with a custom query. Any help would be great.
Thanks.
Marx
Have you tried the custom query examples noted from the codex?
http://codex.wordpress.org/Function_Reference/paginate_links
Hope that helps.
SJ
Well this one doesn’t work for me Don’t know why
Mufaddal
Thanks so much, I tried your solution it worked for me.
Timberland
You have 2 options to do that, First is to use query_posts instead of Wp_Query
or the Second is to name your custom query ”wp_query” as $wp_query = new WP_Query( $args );
important part in both approaches is to pass the ’paged’ => $paged argument in your query otherwise won’t work,
//////////////////////////////////////With Wp_Query
$args = array( ’cat’ => 3, ’paged’ => $paged );
$wp_query = new WP_Query( $args );
if ( $wp_query->have_posts() ) :
while ( $wp_query->have_posts() ) {
$wp_query->the_post();
get_template_part( ’content’, get_post_format() ); }
else :
echo ”No post to show”;
endif;
wpbeginner_numeric_posts_nav();
wp_reset_postdata(); }
//////////////////////////////////////With Query_Posts
$args = array( ’cat’ => 3, ’paged’ => $paged );
query_posts( $args );
if ( have_posts() ) :
while ( have_posts() ) {
the_post();
get_template_part( ’content’, get_post_format() ); }
else :
echo ”No post to show”;
endif;
wpbeginner_numeric_posts_nav();
wp_reset_query(); }
[Hope that helps]
DavidCWebs
Try this native WP function: http://codex.wordpress.org/Function_Reference/paginate_links There’s an example on that codex page showing how to use it with WP_Query.
Hope this helps
Tim
Do this pagination have page number limits or does it automatically detect when more pages are required? Works really nicely
Akash Funde
Thanks for sharing this it helps a lot
Thanks you so Much
adrian
I’ve been using this successful for search results, archives, categories.. but it’s not working for tags. I suspect it could be a permalink issue. The first page works fine, but subsequent pages return 404s. Should this work for tags by default.?
Bubu
search results, archives are ok but in categories same error here. the first page is ok, second page return with 404.
need some help to solve this issue thx
Caroline
Thanks for this, it came in real handy making pagination Foundation framework-ready.
Hiro
I added this to my site and it shows up properly but doesn’t display the proper content on page 2. Tried it both manually and with the plugin. Both times, the pagnation links appear, and when i click to go to page 2, the url changes to page 2 but the content on the page shows only content from page 1 (or index). Please advise
Steve
I am new to Genesis but you say if we are using it that the function is already in there but when I tried adding the php to the hooked area, nothing would display so… I added the above code to my genesis functions.php and added the php call to my hooked area and now the pagination displays but it does not work. When I click the 2nd page, it just reloads the current page.
WPBeginner Support
please contact genesis support
Administratör
Tyler
Does this work for wordpress.com sites? I have this blog that is set up via wordpress.com, not the installed version and I need to add pagination for the blog. Is there a way to do that? Thanks for any future help!
WPBeginner Support
No this tutorial is mean for Self hosted WordPress.org sites. As a WordPress.com user you can not directly edit themes.
Administratör
Crear Cuenta Outlook
thank you so much
Rajavenkateshwaran
Am facing issues when i use the function within the custom page template. I created a custom page template to loop 4 of the posts, this function works well in Homepage and it doesnshow any sign of navigation links in page template.
Best Regards,
Raja
WPBeginner Support
If you are using a custom WP_Query then please check pagination parameters.
Administratör
aklavya
thanx ……………… this code is very helpful
Dejan
Thank you for this code of pagination it is working with WP 3.7.1
Eli Overbey
Any thoughts on how to get archived pagination on Category Blog Page? (in Genesis)
I was able to create a page entitled ‘counseling-blog’, so now we have a Category Blog page at
But here’s the problem… No pagination. The /blog/ has the pagination from Genesis WP. All we have on that new Category Page page is:
”
There is no rel=”next” or rel=”prev”… Any thoughts on how to add next and prev to the Category Blog Page?
I thought the page would add those tags because the template is set as blog.
Big V
Nice post, but I’m having issues with /page/2 not working in my custom theme. Any advice?
Jeremy
WordPress has a core function for doing this.
http://codex.wordpress.org/Function_Reference/paginate_links
Gohar ul Islam
I am searching code (or any kind of help) which uses paginate_links in Wp_query. Do u have any code like this?
Dmitry
Thanks!
Mzer Michael Terungwa
I tried to implement this pagination on the single.php page but it did not show up. Is this only for theme’s index.php, archive.php, category.php, and any other archive page template?
Michael
It appears that Multiple Posts Pagination is quite different from single post pagination and would require different template tags to create them.
WPBeginner Support
Yes this code is only for index and archive pages.
Administratör
Felipe Gangrel
Awesome. Thanks a lot!!!
Talha
Great code, thanks bro
Shaghayeggh
Thank you very very much
Marko
Hi,
thanks for great tutorial!
I had to add ul in front of every li in style.css, otherwise this worked perfectly.
(.navigation ul li a,) etc…
elvinson
i have installed wp-pagenavi plugin, but it was not showing in archives , so i have used your coding manually it is working well. Thanks.
Don
what about pagination for a single post that contains numerous pages .. i.e.- this is about A SINGLE POST – that was too long and had to be divided into multiple pages ! … the wp codex for this type of single post pagination is done with the command ( ) … unfortunately none of the plugins out there provides a good solution for this type of pagination ….. or they simple avoid it all together … the wp-pagenavi mentionned it very briefly…. but does not work for single post pagination on 95 % of the wp themes out there….
if there is such a plugin that provides a good alternative for wp_link_pages with good styling and other options for single post pagination …. please share !!!
Editorial Staff
Genesis theme has that option. We are using that on our site http://list25.com/
Administratör
Chinmoy Paul
Thanks for sharing this. I will use this in my next project.
Robert Smith
Thanks for this guys! Been looking for a simple solution like this all evening and this was gold!!
Keep up the great work on your site, as it is a regular resource of mine
Thanks,
Rob
Arilton Freitas
To me, the best way to include numeric pagination in WordPress is use the paginate_links() function. Simple and core-based.
http://codex.wordpress.org/Function_Reference/paginate_links
Editorial Staff
Didn’t even know that existed. Thanks for pointing this out.
-Syed
Administratör
Mattia
Indeed this is awesome, but… The pagination always appear, also if not needed… Ho do you prevent this?
If mu limit is 10 posts per page, but I only have written 5, the paginations appears and sends me to an empty ”page 2″… ;(
Mattia
I checked another of my sites and this error doesn’t appear. In this late site I am building, strangely pagination appears also if not needed! Does someone know which could be the cause? Many thanks!
Jacob
WordPress already has this baked in with a function called paginate_links (http://codex.wordpress.org/Function_Reference/paginate_links).
Upendra Shrestha
Hi, Previously I used wp pagenavi plugin in genesis framework. But it didn’t work with the framework. After adding the code ””, it just worked. I didn’t realize that I had to add this code.
Thanks.
Alex Sancho
and what about the Wordpress function paginate_links? http://codex.wordpress.org/Function_Reference/paginate_links
Connie
for those who want to style differently but are not CSS-savy, there are at least 2 additional plugins available:
WP Visual Pagination, http://wordpress.org/extend/plugins/wp-visualpagination/
or
WP PageNavi Style , http://wordpress.org/extend/plugins/wp-pagenavi-style/
Cheers,
Connie
Editorial Staff
Thanks for letting us know Connie.
Administratör
Azim
Isn’t it going to be a heavy SQL query, esp. on blogs with lots and lots of posts? I had to get rid of such pagination on one of my projects (containing over 10K posts), because hoster claimed it consumed too much of a CPU and SQL resources. Basically, what it did is selected ALL posts (over 10K, remember?) and then just divided them into multiple pages with 20 (or whatever you specify in admin) posts per page…
Editorial Staff
WordPress is dividing the posts in those pages to begin with using the WP_Query posts_per_page parameter. All this query is doing is looking at those pages and creating a numeric display. I’m sure there was more going on that your host didn’t bother explaining.
-Syed
Administratör