⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pluggable-functions.php

📁 php 开发的内容管理系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php	/* These functions can be replaced via plugins.  They are loaded after	 plugins are loaded. */if ( !function_exists('set_current_user') ) :function set_current_user($id, $name = '') {	return wp_set_current_user($id, $name);}endif;if ( !function_exists('wp_set_current_user') ) :function wp_set_current_user($id, $name = '') {	global $current_user;	if ( isset($current_user) && ($id == $current_user->ID) )		return $current_user;	$current_user = new WP_User($id, $name);	setup_userdata($current_user->ID);	do_action('set_current_user');	return $current_user;}endif;if ( !function_exists('wp_get_current_user') ) :function wp_get_current_user() {	global $current_user;	get_currentuserinfo();	return $current_user;}endif;if ( !function_exists('get_currentuserinfo') ) :function get_currentuserinfo() {	global $current_user;	if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST )		return false;	if ( ! empty($current_user) )		return;	if ( empty($_COOKIE[USER_COOKIE]) || empty($_COOKIE[PASS_COOKIE]) || 		!wp_login($_COOKIE[USER_COOKIE], $_COOKIE[PASS_COOKIE], true) ) {		wp_set_current_user(0);		return false;	}	$user_login = $_COOKIE[USER_COOKIE];	wp_set_current_user(0, $user_login);}endif;if ( !function_exists('get_userdata') ) :function get_userdata( $user_id ) {	global $wpdb;	$user_id = (int) $user_id;	if ( $user_id == 0 )		return false;	$user = wp_cache_get($user_id, 'users');		if ( $user )		return $user;	if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE ID = '$user_id' LIMIT 1") )		return false;	$wpdb->hide_errors();	$metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id'");	$wpdb->show_errors();	if ($metavalues) {		foreach ( $metavalues as $meta ) {			@ $value = unserialize($meta->meta_value);			if ($value === FALSE)				$value = $meta->meta_value;			$user->{$meta->meta_key} = $value;			// We need to set user_level from meta, not row			if ( $wpdb->prefix . 'user_level' == $meta->meta_key )				$user->user_level = $meta->meta_value;		} // end foreach	} //end if	// For backwards compat.	if ( isset($user->first_name) )		$user->user_firstname = $user->first_name;	if ( isset($user->last_name) )		$user->user_lastname = $user->last_name;	if ( isset($user->description) )		$user->user_description = $user->description;			wp_cache_add($user_id, $user, 'users');	wp_cache_add($user->user_login, $user, 'userlogins');		return $user;}endif;if ( !function_exists('update_user_cache') ) :function update_user_cache() {	return true;}endif;if ( !function_exists('get_userdatabylogin') ) :function get_userdatabylogin($user_login) {	global $wpdb;	$user_login = sanitize_user( $user_login );	if ( empty( $user_login ) )		return false;			$userdata = wp_cache_get($user_login, 'userlogins');	if ( $userdata )		return $userdata;	if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'") )		return false;	$wpdb->hide_errors();	$metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user->ID'");	$wpdb->show_errors();	if ($metavalues) {		foreach ( $metavalues as $meta ) {			@ $value = unserialize($meta->meta_value);			if ($value === FALSE)				$value = $meta->meta_value;			$user->{$meta->meta_key} = $value;			// We need to set user_level from meta, not row			if ( $wpdb->prefix . 'user_level' == $meta->meta_key )				$user->user_level = $meta->meta_value;		}	}	// For backwards compat.	if ( isset($user->first_name) )		$user->user_firstname = $user->first_name;	if ( isset($user->last_name) )		$user->user_lastname = $user->last_name;	if ( isset($user->description) )		$user->user_description = $user->description;	wp_cache_add($user->ID, $user, 'users');	wp_cache_add($user->user_login, $user, 'userlogins');	return $user;}endif;if ( !function_exists('wp_mail') ) :function wp_mail($to, $subject, $message, $headers = '') {	if( $headers == '' ) {		$headers = "MIME-Version: 1.0\n" .			"From: wordpress@" . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . "\n" . 			"Content-Type: text/plain; charset=\"" . get_settings('blog_charset') . "\"\n";	}	return @mail($to, $subject, $message, $headers);}endif;if ( !function_exists('wp_login') ) :function wp_login($username, $password, $already_md5 = false) {	global $wpdb, $error;	if ( '' == $username )		return false;	if ( '' == $password ) {		$error = __('<strong>Error</strong>: The password field is empty.');		return false;	}	$login = get_userdatabylogin($username);	//$login = $wpdb->get_row("SELECT ID, user_login, user_pass FROM $wpdb->users WHERE user_login = '$username'");	if (!$login) {		$error = __('<strong>Error</strong>: Wrong username.');		return false;	} else {		// If the password is already_md5, it has been double hashed.		// Otherwise, it is plain text.		if ( ($already_md5 && md5($login->user_pass) == $password) || ($login->user_login == $username && $login->user_pass == md5($password)) ) {			return true;		} else {			$error = __('<strong>Error</strong>: Incorrect password.');			$pwd = '';			return false;		}	}}endif;if ( !function_exists('is_user_logged_in') ) :function is_user_logged_in() {	$user = wp_get_current_user();		if ( $user->id == 0 )		return false;	return true;}endif;if ( !function_exists('auth_redirect') ) :function auth_redirect() {	// Checks if a user is logged in, if not redirects them to the login page	if ( (!empty($_COOKIE[USER_COOKIE]) && 				!wp_login($_COOKIE[USER_COOKIE], $_COOKIE[PASS_COOKIE], true)) ||			 (empty($_COOKIE[USER_COOKIE])) ) {		nocache_headers();			wp_redirect(get_settings('siteurl') . '/wp-login.php?redirect_to=' . urlencode($_SERVER['REQUEST_URI']));		exit();	}}endif;if ( !function_exists('check_admin_referer') ) :function check_admin_referer($action = -1) {	$adminurl = strtolower(get_settings('siteurl')).'/wp-admin';	$referer = strtolower(wp_get_referer());	if ( !wp_verify_nonce($_REQUEST['_wpnonce'], $action) &&		!(-1 == $action && strstr($referer, $adminurl)) ) {		wp_nonce_ays($action);		die();	}	do_action('check_admin_referer', $action);}endif;if ( !function_exists('check_ajax_referer') ) :function check_ajax_referer() {	$cookie = explode('; ', urldecode(empty($_POST['cookie']) ? $_GET['cookie'] : $_POST['cookie'])); // AJAX scripts must pass cookie=document.cookie	foreach ( $cookie as $tasty ) {		if ( false !== strpos($tasty, USER_COOKIE) )			$user = urldecode(substr(strstr($tasty, '='), 1)); // Nasty double encoding		if ( false !== strpos($tasty, PASS_COOKIE) )			$pass = urldecode(substr(strstr($tasty, '='), 1));	}	if ( wp_login( $user, $pass, true ) )		return true;	return false;}endif;// Cookie safe redirect.  Works around IIS Set-Cookie bug.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -