WordPress.org

Make WordPress Core

Ticket #2834: template-functions-links.php.diff

File template-functions-links.php.diff, 2.7 KB (added by paulschreiber, 12 years ago)
  • .php

    old new  
    445445        return $qstr;
    446446}
    447447
    448 function next_posts($max_page = 0) { // original by cfactor at cooltux.org
     448function next_posts($max_page = 0) {
     449        print next_posts_text($max_page);
     450}
     451
     452function next_posts_text($max_page = 0) { // original by cfactor at cooltux.org
    449453        global $paged, $pagenow;
    450454
    451455        if ( !is_single() ) {
     
    453457                        $paged = 1;
    454458                $nextpage = intval($paged) + 1;
    455459                if ( !$max_page || $max_page >= $nextpage )
    456                         echo get_pagenum_link($nextpage);
     460                        return get_pagenum_link($nextpage);
    457461        }
    458462}
    459463
    460464function next_posts_link($label='Next Page »', $max_page=0) {
     465        print next_posts_link_text($label, $max_page);
     466}
     467
     468function next_posts_link_text($label='Next Page »', $max_page=0) {
    461469        global $paged, $result, $request, $posts_per_page, $wpdb, $max_num_pages;
    462470        if ( !$max_page ) {
    463471                        if ( isset($max_num_pages) ) {
     
    473481                $paged = 1;
    474482        $nextpage = intval($paged) + 1;
    475483        if ( (! is_single()) && (empty($paged) || $nextpage <= $max_page) ) {
    476                 echo '<a href="';
    477                 next_posts($max_page);
    478                 echo '">'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
     484                $np_text = next_posts_text($max_page);
     485               
     486                if ($np_text) {
     487                        $result = '<a href="';
     488                        $result .= $np_text;
     489                        $result .= '">'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
     490                        return $result;
     491                }
    479492        }
     493       
     494        return false;
    480495}
    481496
    482497
    483 function previous_posts() { // original by cfactor at cooltux.org
     498function previous_posts() {
     499        print previous_posts_text();
     500}
     501
     502function previous_posts_text() { // original by cfactor at cooltux.org
    484503        global $paged, $pagenow;
    485504
    486505        if ( !is_single() ) {
    487506                $nextpage = intval($paged) - 1;
    488507                if ( $nextpage < 1 )
    489508                        $nextpage = 1;
    490                 echo get_pagenum_link($nextpage);
     509                return get_pagenum_link($nextpage);
    491510        }
    492511}
    493512
    494 
    495513function previous_posts_link($label='&laquo; Previous Page') {
     514        print previous_posts_link_text($label);
     515}
     516
     517function previous_posts_link_text($label='&laquo; Previous Page') {
    496518        global $paged;
    497519        if ( (!is_single())     && ($paged > 1) ) {
    498                 echo '<a href="';
    499                 previous_posts();
    500                 echo '">'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
     520                $pp_text = previous_posts_text();
     521
     522                if ($pp_text) {
     523                        $result = '<a href="';
     524                        $result .= $pp_text;
     525                        $result .= '">'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
     526                        return $result;
     527                }
    501528        }
     529       
     530        return false;
    502531}
    503532
    504533function posts_nav_link($sep=' &#8212; ', $prelabel='&laquo; Previous Page', $nxtlabel='Next Page &raquo;') {