Make WordPress Core

Changeset 506


Ignore:
Timestamp:
11/02/2003 12:50:48 AM (22 years ago)
Author:
saxmatt
Message:

Added new get_month_link function

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/b2-include/b2template.functions.php

    r502 r506  
    231231
    232232
    233 
     233/***** Links *****/
     234function get_permalink($id=false) {
     235    global $post, $wpdb, $tableposts;
     236    global $file, $siteurl, $querystring_start, $querystring_equal;
     237    $rewritecode = array(
     238        '%year%',
     239        '%monthnum%',
     240        '%day%',
     241        '%postname%'
     242    );
     243    if (!$id) {
     244        if ('' != get_settings('permalink_structure')) {
     245            $unixtime = strtotime($post->post_date);
     246            $rewritereplace = array(
     247                date('Y', $unixtime),
     248                date('n', $unixtime),
     249                date('j', $unixtime),
     250                $post->post_name
     251            );
     252            return $siteurl . str_replace($rewritecode, $rewritereplace, get_settings('permalink_structure'));
     253        } else { // if they're not using the fancy permalink option
     254            return $siteurl . $file.$querystring_start.'p'.$querystring_equal.$post->ID;
     255        }
     256    } else { // if an ID is given
     257        $idpost = $wpdb->get_row("SELECT post_date, post_name FROM $tableposts WHERE ID = $id");
     258        if ('' != get_settings('permalink_structure')) {
     259            $unixtime = strtotime($idpost->post_date);
     260            $rewritereplace = array(
     261                date('Y', $unixtime),
     262                date('n', $unixtime),
     263                date('j', $unixtime),
     264                $idpost->post_name
     265            );
     266            return $siteurl . str_replace($rewritecode, $rewritereplace, get_settings('permalink_structure'));
     267        } else {
     268            return $siteurl . $file.$querystring_start.'p'.$querystring_equal.$idpost->ID;
     269        }
     270    }
     271}
     272
     273function get_month_link($year, $month) {
     274    global $siteurl, $blogfilename, $querystring_start, $querystring_equal;
     275    if (!$year) $year = date('Y', time()+($time_difference * 3600));
     276    if (!$month) $month = date('m', time()+($time_difference * 3600));
     277    if ('' != get_settings('permalink_structure')) {
     278        $off = strpos(get_settings('permalink_structure'), '%monthnum%');
     279        $offset = $off + 11;
     280        $monthlink = substr(get_settings('permalink_structure'), 0, $offset);
     281        if ('/' != substr($monthlink, -1)) $monthlink = substr($monthlink, 0, -1);
     282        $monthlink = str_replace('%year%', $year, $monthlink);
     283        $monthlink = str_replace('%monthnum%', intval($month), $monthlink);
     284        return $monthlink;
     285    } else {
     286        return $siteurl.'/'.$blogfilename.$querystring_start.'m'.$querystring_equal.$year.$month;
     287    }
     288}
    234289
    235290/***** Date/Time tags *****/
     
    14071462
    14081463/***** Permalink tags *****/
    1409 function get_permalink($id=false) {
    1410     global $post, $wpdb, $tableposts;
    1411     global $file, $siteurl, $querystring_start, $querystring_equal;
    1412     $rewritecode = array(
    1413         '%year%',
    1414         '%monthnum%',
    1415         '%day%',
    1416         '%postname%'
    1417     );
    1418     if (!$id) {
    1419         if ('' != get_settings('permalink_structure')) {
    1420             $unixtime = strtotime($post->post_date);
    1421             $rewritereplace = array(
    1422                 date('Y', $unixtime),
    1423                 date('n', $unixtime),
    1424                 date('j', $unixtime),
    1425                 $post->post_name
    1426             );
    1427             return $siteurl . str_replace($rewritecode, $rewritereplace, get_settings('permalink_structure'));
    1428         } else { // if they're not using the fancy permalink option
    1429             return $siteurl . $file.$querystring_start.'p'.$querystring_equal.$post->ID;
    1430         }
    1431     } else { // if an ID is given
    1432         $idpost = $wpdb->get_row("SELECT post_date, post_name FROM $tableposts WHERE ID = $id");
    1433         if ('' != get_settings('permalink_structure')) {
    1434             $unixtime = strtotime($idpost->post_date);
    1435             $rewritereplace = array(
    1436                 date('Y', $unixtime),
    1437                 date('n', $unixtime),
    1438                 date('j', $unixtime),
    1439                 $idpost->post_name
    1440             );
    1441             return $siteurl . str_replace($rewritecode, $rewritereplace, get_settings('permalink_structure'));
    1442         } else {
    1443             return $siteurl . $file.$querystring_start.'p'.$querystring_equal.$idpost->ID;
    1444         }
    1445     }
    1446 }
    1447 
    14481464function permalink_anchor($mode = 'id') {
    14491465    global $id, $post;
Note: See TracChangeset for help on using the changeset viewer.