template-functions-general.php
来自「php 开发的内容管理系统」· PHP 代码 · 共 709 行 · 第 1/2 页
PHP
709 行
<?php/* Note: these tags go anywhere in the template */function get_header() { if ( file_exists( TEMPLATEPATH . '/header.php') ) load_template( TEMPLATEPATH . '/header.php'); else load_template( ABSPATH . 'wp-content/themes/default/header.php');}function get_footer() { if ( file_exists( TEMPLATEPATH . '/footer.php') ) load_template( TEMPLATEPATH . '/footer.php'); else load_template( ABSPATH . 'wp-content/themes/default/footer.php');}function get_sidebar() { if ( file_exists( TEMPLATEPATH . '/sidebar.php') ) load_template( TEMPLATEPATH . '/sidebar.php'); else load_template( ABSPATH . 'wp-content/themes/default/sidebar.php');}function wp_loginout() { if ( ! is_user_logged_in() ) $link = '<a href="' . get_settings('siteurl') . '/wp-login.php">' . __('Login') . '</a>'; else $link = '<a href="' . get_settings('siteurl') . '/wp-login.php?action=logout">' . __('Logout') . '</a>'; echo apply_filters('loginout', $link);}function wp_register( $before = '<li>', $after = '</li>' ) { if ( ! is_user_logged_in() ) { if ( get_settings('users_can_register') ) $link = $before . '<a href="' . get_settings('siteurl') . '/wp-register.php">' . __('Register') . '</a>' . $after; else $link = ''; } else { $link = $before . '<a href="' . get_settings('siteurl') . '/wp-admin/">' . __('Site Admin') . '</a>' . $after; } echo apply_filters('register', $link);}function wp_meta() { do_action('wp_meta');}function bloginfo($show='') { $info = get_bloginfo($show); if (!strstr($show, 'url') && //don't filter URLs !strstr($show, 'directory') && !strstr($show, 'home')) { $info = apply_filters('bloginfo', $info, $show); $info = convert_chars($info); } echo $info;}function get_bloginfo($show='') { switch($show) { case 'url' : case 'home' : case 'siteurl' : $output = get_settings('home'); break; case 'wpurl' : $output = get_settings('siteurl'); break; case 'description': $output = get_settings('blogdescription'); break; case 'rdf_url': $output = get_feed_link('rdf'); break; case 'rss_url': $output = get_feed_link('rss'); break; case 'rss2_url': $output = get_feed_link('rss2'); break; case 'atom_url': $output = get_feed_link('atom'); break; case 'comments_rss2_url': $output = get_feed_link('comments_rss2'); break; case 'pingback_url': $output = get_settings('siteurl') .'/xmlrpc.php'; break; case 'stylesheet_url': $output = get_stylesheet_uri(); break; case 'stylesheet_directory': $output = get_stylesheet_directory_uri(); break; case 'template_directory': case 'template_url': $output = get_template_directory_uri(); break; case 'admin_email': $output = get_settings('admin_email'); break; case 'charset': $output = get_settings('blog_charset'); if ('' == $output) $output = 'UTF-8'; break; case 'html_type' : $output = get_option('html_type'); 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 $m, $year, $monthnum, $day, $category_name, $month, $posts; $cat = get_query_var('cat'); $p = get_query_var('p'); $name = get_query_var('name'); $category_name = get_query_var('category_name'); $author = get_query_var('author'); $author_name = get_query_var('author_name'); // If there's a category if ( !empty($cat) ) { // category exclusion if ( !stristr($cat,'-') ) $title = get_the_category_by_ID($cat); } if ( !empty($category_name) ) { if ( stristr($category_name,'/') ) { $category_name = explode('/',$category_name); if ( $category_name[count($category_name)-1] ) $category_name = $category_name[count($category_name)-1]; // no trailing slash else $category_name = $category_name[count($category_name)-2]; // there was a trailling slash } $title = $wpdb->get_var("SELECT cat_name FROM $wpdb->categories WHERE category_nicename = '$category_name'"); } // If there's an author if ( !empty($author) ) { $title = get_userdata($author); $title = $title->display_name; } if ( !empty($author_name) ) { // We do a direct query here because we don't cache by nicename. $title = $wpdb->get_var("SELECT display_name FROM $wpdb->users WHERE user_nicename = '$author_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 is a post if ( is_single() || is_page() ) { $title = strip_tags($posts[0]->post_title); $title = apply_filters('single_post_title', $title); } $prefix = ''; if ( isset($title) ) $prefix = " $sep "; $title = $prefix . $title; $title = apply_filters('wp_title', $title, $sep); // Send it out if ( $display ) echo $title; else return $title;}function single_post_title($prefix = '', $display = true) { global $wpdb; $p = get_query_var('p'); $name = get_query_var('name'); if ( intval($p) || '' != $name ) { if ( !$p ) $p = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '$name'"); $post = & get_post($p); $title = $post->post_title; $title = apply_filters('single_post_title', $title); if ( $display ) echo $prefix.strip_tags($title); else return strip_tags($title); }}function single_cat_title($prefix = '', $display = true ) { $cat = intval( get_query_var('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($my_cat_name); else return strip_tags($my_cat_name); } }}function single_month_title($prefix = '', $display = true ) { global $m, $monthnum, $month, $year; if ( !empty($monthnum) && !empty($year) ) { $my_year = $year; $my_month = $month[str_pad($monthnum, 2, '0', STR_PAD_LEFT)]; } elseif ( !empty($m) ) { $my_year = substr($m, 0, 4); $my_month = $month[substr($m, 4, 2)]; } if ( !empty($my_month) && $display ) echo $prefix . $my_month . $prefix . $my_year; else return $monthnum;}/* link navigation hack by Orien http://icecode.com/ */function get_archives_link($url, $text, $format = 'html', $before = '', $after = '') { $text = wptexturize($text); $title_text = wp_specialchars($text, 1); if ('link' == $format) return "\t<link rel='archives' title='$title_text' href='$url' />\n"; elseif ('option' == $format) return "\t<option value='$url'>$before $text $after</option>\n"; elseif ('html' == $format) return "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n"; else // custom return "\t$before<a href='$url' title='$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 $month, $wpdb; if ( '' == $type ) $type = 'monthly'; if ( '' != $limit ) { $limit = (int) $limit; $limit = ' LIMIT '.$limit; } // this is what will separate dates on weekly archive links $archive_week_separator = '–'; // 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 = get_settings('date_format'); $archive_week_start_date_format = get_settings('date_format'); $archive_week_end_date_format = get_settings('date_format'); } $add_hours = intval(get_settings('gmt_offset')); $add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours)); $now = current_time('mysql'); 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_date != '0000-00-00 00:00:00' AND post_status = 'publish' ".( (wp_xoops_ismu() && !empty($GLOBALS["wp_xoops_author"])) ? " AND post_author = " . intval($GLOBALS["wp_xoops_author"]) : "" )." GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC" . $limit); if ( $arcresults ) { $afterafter = $after; foreach ( $arcresults as $arcresult ) { $url = get_month_link($arcresult->year, $arcresult->month); if ( $show_post_count ) { $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year); $after = ' ('.$arcresult->posts.')' . $afterafter; } else { $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year); } 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_date != '0000-00-00 00:00:00' AND post_status = 'publish'".( (wp_xoops_ismu() && !empty($GLOBALS["wp_xoops_author"])) ? " AND post_author = " . intval($GLOBALS["wp_xoops_author"]) : "" )." 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 ) {
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?