📄 template-functions-general.php
字号:
<?php/* Note: these tags go anywhere in the template */function bloginfo($show='') { $info = get_bloginfo($show); $info = apply_filters('bloginfo', $info); echo convert_chars($info);}function bloginfo_rss($show='') { global $blog_charset; $info = strip_tags(get_bloginfo($show)); echo wp_convert_rss_charset($info);}function bloginfo_unicode($show='') { $info = get_bloginfo($show); echo convert_chars($info);}function get_bloginfo($show='') { global $siteurl; $do_perma = 0; $feed_url = $siteurl; $comment_feed_url = $siteurl;; if ('' != get_settings('permalink_structure')) { $do_perma = 1; $feed_url = $siteurl.'/feed'; $comment_feed_url = $siteurl.'/comments/feed'; } switch($show) { case 'url': case 'siteurl': $output = $siteurl.'/index.php'; break; case 'description': $output = get_settings('blogdescription'); break; case 'rdf_url': $output = $siteurl.'/wp-rdf.php'; if ($do_perma) { $output = $feed_url . '/rdf/'; } break; case 'rss_url': $output = $siteurl.'/wp-rss.php'; if ($do_perma) { $output = $feed_url . '/rss/'; } break; case 'rss2_url': $output = $siteurl.'/wp-rss2.php'; if ($do_perma) { $output = $feed_url . '/rss2/'; } break; case 'atom_url': $output = $siteurl.'/wp-atom.php'; if ($do_perma) { $output = $feed_url . '/atom/'; } break; case 'comments_rss2_url': $output = $siteurl.'/wp-commentsrss2.php'; if ($do_perma) { $output = $comment_feed_url . '/rss2/'; } break; case 'pingback_url': $output = $siteurl.'/xmlrpc.php'; break; case 'admin_email': $output = get_settings('admin_email'); break; case 'charset': $output = get_settings('blog_charset'); if ('' == $output) $output = 'UTF-8'; break; case 'version': global $wp_version; $output = $wp_version; break; case 'name': default: $output = get_settings('blogname'); break; } return $output;}function wp_title($sep = '»', $display = true) { global $wpdb; global $year, $monthnum, $day, $cat, $p, $name, $month; // If there's a category if(!empty($cat)) { if (!stristr($cat,'-')) { // category excluded $title = stripslashes(get_the_category_by_ID($cat)); } } if (!empty($category_name)) { $title = stripslashes($wpdb->get_var("SELECT cat_name FROM {$wpdb->categories} WHERE category_nicename = '$category_name'")); } // If there's a month if(!empty($m)) { $my_year = substr($m, 0, 4); $my_month = $month[substr($m, 4, 2)]; $title = "$my_year $sep $my_month"; } if (!empty($year)) { $title = $year; if (!empty($monthnum)) { $title .= " $sep ".$month[zeroise($monthnum, 2)]; } if (!empty($day)) { $title .= " $sep ".zeroise($day, 2); } } // If there's a post if (intval($p) || '' != $name) { if (!$p) { if ($year != '') { $year = '' . intval($year); $where .= ' AND YEAR(post_date)=' . $year; } if ($monthnum != '') { $monthnum = '' . intval($monthnum); $where .= ' AND MONTH(post_date)=' . $monthnum; } if ($day != '') { $day = '' . intval($day); $where .= ' AND DAYOFMONTH(post_date)=' . $day; } $p = $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE post_name = '$name' $where"); } $post_data = get_postdata($p); $title = strip_tags(stripslashes($post_data['Title'])); $title = apply_filters('single_post_title', $title); } // Send it out if ($display && isset($title)) { echo " $sep $title"; } elseif (!$display && isset($title)) { return " $sep $title"; }}function single_post_title($prefix = '', $display = true) { global $p, $name, $wpdb; if (intval($p) || '' != $name) { if (!$p) { $p = $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE post_name = '$name'"); } $post_data = get_postdata($p); $title = $post_data['Title']; $title = apply_filters('single_post_title', $title); if ($display) { echo $prefix.strip_tags(stripslashes($title)); } else { return strip_tags(stripslashes($title)); } }}function single_cat_title($prefix = '', $display = true ) { global $cat; if(!empty($cat) && !(strtoupper($cat) == 'ALL')) { $my_cat_name = get_the_category_by_ID($cat); if(!empty($my_cat_name)) { if ($display) echo $prefix.strip_tags(stripslashes($my_cat_name)); else return strip_tags(stripslashes($my_cat_name)); } }}function single_month_title($prefix = '', $display = true ) { global $m, $month; if(!empty($m)) { $my_year = substr($m,0,4); $my_month = $month[substr($m,4,2)]; if ($display) echo $prefix.$my_month.$prefix.$my_year; else return $m; }}/* link navigation hack by Orien http://icecode.com/ */function get_archives_link($url, $text, $format = "html", $before = "", $after = "") { if ('link' == $format) { return "\t".'<link rel="archives" title="'.$text.'" href="'.$url.'" />'."\n"; } else if ('option' == $format) { return '<option value="'.$url.'">'.$text.$after.'</option>'."\n"; } else if ('html' == $format) { return "\t".'<li><a href="'.$url.'" title="'.$text.'">'.$text.'</a>'.$after.'</li>'."\n"; } else { // custom return "\t".$before.'<a href="'.$url.'" title="'.$text.'">'.$text.'</a>'.$after."\n"; }}function wp_get_archives($args = '') { parse_str($args, $r); if (!isset($r['type'])) $r['type'] = ''; if (!isset($r['limit'])) $r['limit'] = ''; if (!isset($r['format'])) $r['format'] = 'html'; if (!isset($r['before'])) $r['before'] = ''; if (!isset($r['after'])) $r['after'] = ''; if (!isset($r['show_post_count'])) $r['show_post_count'] = false; get_archives($r['type'], $r['limit'], $r['format'], $r['before'], $r['after'], $r['show_post_count']);}function get_archives($type='', $limit='', $format='html', $before = "", $after = "", $show_post_count = false) { global $dateformat, $time_difference, $siteurl; global $month, $wpdb, $wp_month_format; if ('' == $type) { $type = get_settings('archive_mode'); } if ('' != $limit) { $limit = (int) $limit; $limit = " LIMIT $limit"; } // this is what will separate dates on weekly archive links $archive_week_separator = '–'; // archive link url $archive_link_m = $siteurl.'/index.php?m='; # monthly archive; $archive_link_w = $siteurl.'/index.php?w='; # weekly archive; $archive_link_p = $siteurl.'/index.php?p='; # post-by-post archive; // over-ride general date format ? 0 = no: use the date format set in Options, 1 = yes: over-ride $archive_date_format_over_ride = 0; // options for daily archive (only if you over-ride the general date format) $archive_day_date_format = 'Y/m/d'; // options for weekly archive (only if you over-ride the general date format) $archive_week_start_date_format = 'Y/m/d'; $archive_week_end_date_format = 'Y/m/d'; if (!$archive_date_format_over_ride) { $archive_day_date_format = $dateformat; $archive_week_start_date_format = $dateformat; $archive_week_end_date_format = $dateformat; } $now = date('Y-m-d H:i:s',(time() + ($time_difference * 3600))); if ('monthly' == $type) { $arcresults = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM {$wpdb->posts} WHERE post_date < '$now' AND post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC" . $limit); if ($arcresults) { foreach ($arcresults as $arcresult) { $url = get_month_link($arcresult->year, $arcresult->month); if ($show_post_count) { $text = ereg_replace('%MONTH',$month[zeroise($arcresult->month,2)],$wp_month_format); $text = ereg_replace('%YEAR',sprintf("%d",$arcresult->year),$text); $after = " ($arcresult->posts)"; } else { $text = ereg_replace('%MONTH',$month[zeroise($arcresult->month,2)],$wp_month_format); $text = ereg_replace('%YEAR',sprintf("%d",$arcresult->year),$text); } echo get_archives_link($url, $text, $format, $before, $after); } } } elseif ('daily' == $type) { $arcresults = $wpdb->get_results("SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, DAYOFMONTH(post_date) AS `dayofmonth` FROM {$wpdb->posts} WHERE post_date < '$now' AND post_status = 'publish' ORDER BY post_date DESC" . $limit); if ($arcresults) { foreach ($arcresults as $arcresult) { $url = get_day_link($arcresult->year, $arcresult->month, $arcresult->dayofmonth); $date = sprintf("%d-%02d-%02d 00:00:00", $arcresult->year, $arcresult->month, $arcresult->dayofmonth); $text = mysql2date($archive_day_date_format, $date); echo get_archives_link($url, $text, $format, $before, $after); } } } elseif ('weekly' == $type) { $arcresults = $wpdb->get_results("SELECT DISTINCT WEEK(post_date, ".get_settings('start_of_week').") AS `week`, YEAR(post_date) AS yr, DATE_FORMAT(post_date, '%Y-%m-%d') AS yyyymmdd FROM {$wpdb->posts} WHERE post_date < '$now' AND post_status = 'publish' ORDER BY post_date DESC" . $limit); $arc_w_last = ''; if ($arcresults) { foreach ($arcresults as $arcresult) { if ($arcresult->week != $arc_w_last) { $arc_year = $arcresult->yr; $arc_w_last = $arcresult->week; $arc_week = get_weekstartend($arcresult->yyyymmdd, get_settings('start_of_week')); $arc_week_start = date_i18n($archive_week_start_date_format, $arc_week['start']); $arc_week_end = date_i18n($archive_week_end_date_format, $arc_week['end']); $url = sprintf("%s/index.php?m=%s&w=%d", $siteurl, $arc_year, $arcresult->week); $text = $arc_week_start . $archive_week_separator . $arc_week_end; echo get_archives_link($url, $text, $format, $before, $after);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -