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 = '&raquo;', $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 = '&#8211;';	// 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 = '&nbsp;('.$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 + -
显示快捷键?