how can I get pagination link url instead of maked up anchor link? currently I used

<?php next_posts_link(); ?>
<?php previous_posts_link(); ?>

for pagination but it return a, I want to know is there any way to get just next/prev url?


If you check out the source, they're both wrappers around *_posts(), which in turn are wrappers for get_*_posts_page_link() (where the wildcard indicates either next or previous).

For example, next_posts() will echo or return the escaped URL, depending on the first argument:

$escaped_url = next_posts( false /* Don't echo */ ); 
next_posts(); // Prints escaped URL

Otherwise you can get the raw URL with get_next_posts_page_link() and do with it as you wish:

 $raw_url = get_next_posts_page_link();

 wp_redirect( $raw_url );

 // or...
 echo esc_url( $raw_url );

There are get_previous_posts_link() and get_next_posts_link(), they should do what you want.

  • as doc for these 2 functions mentioned, they return previous functions(next_posts_link, previous_posts_link) instead of echoing them, I'm trying to get just the url, like: http://example.com/page/2 – Amirmasoud Dec 4 '15 at 16:04
  • The Codex page for next_posts_link tells to use these functions when you need the value returned instead of outputted. – flomei Dec 4 '15 at 17:48
  • I understand what you're saying but get_*_posts_page_link() did the trick – Amirmasoud Dec 4 '15 at 18:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.