Wordpress++
This commit is contained in:
1 parent
790f1487a2
commit
3f49ab1747
610 files changed
+58979
-36562
No files matched your search
+191
-41
@@ -78,6 +78,8 @@ function current_time( $type, $gmt = 0 ) {
|
||||
*
|
||||
* @since 0.71
|
||||
*
|
||||
* @global WP_Locale $wp_locale
|
||||
*
|
||||
* @param string $dateformatstring Format to display the date.
|
||||
* @param bool|int $unixtimestamp Optional. Unix timestamp. Default false.
|
||||
* @param bool $gmt Optional. Whether to use GMT timezone. Default false.
|
||||
@@ -161,6 +163,8 @@ function date_i18n( $dateformatstring, $unixtimestamp = false, $gmt = false ) {
|
||||
*
|
||||
* @since 2.3.0
|
||||
*
|
||||
* @global WP_Locale $wp_locale
|
||||
*
|
||||
* @param int $number The number to convert based on locale.
|
||||
* @param int $decimals Optional. Precision of the number of decimal places. Default 0.
|
||||
* @return string Converted number in string format.
|
||||
@@ -381,6 +385,7 @@ function maybe_serialize( $data ) {
|
||||
|
||||
// Double serialization is required for backward compatibility.
|
||||
// See https://core.trac.wordpress.org/ticket/12930
|
||||
// Also the world will end. See WP 3.6.1.
|
||||
if ( is_serialized( $data, false ) )
|
||||
return serialize( $data );
|
||||
|
||||
@@ -490,10 +495,10 @@ function wp_extract_urls( $content ) {
|
||||
*
|
||||
* @since 1.5.0
|
||||
*
|
||||
* @see $wpdb
|
||||
* @global wpdb $wpdb
|
||||
*
|
||||
* @param string $content Post Content.
|
||||
* @param int $post_ID Post ID.
|
||||
* @param int $post_ID Post ID.
|
||||
*/
|
||||
function do_enclose( $content, $post_ID ) {
|
||||
global $wpdb;
|
||||
@@ -870,6 +875,10 @@ function wp_remote_fopen( $uri ) {
|
||||
*
|
||||
* @since 2.0.0
|
||||
*
|
||||
* @global WP $wp_locale
|
||||
* @global WP_Query $wp_query
|
||||
* @global WP_Query $wp_the_query
|
||||
*
|
||||
* @param string|array $query_vars Default WP_Query arguments.
|
||||
*/
|
||||
function wp( $query_vars = '' ) {
|
||||
@@ -885,6 +894,8 @@ function wp( $query_vars = '' ) {
|
||||
*
|
||||
* @since 2.3.0
|
||||
*
|
||||
* @global array $wp_header_to_desc
|
||||
*
|
||||
* @param int $code HTTP status code.
|
||||
* @return string Empty string if not found, or description if found.
|
||||
*/
|
||||
@@ -1124,7 +1135,7 @@ function bool_from_yn( $yn ) {
|
||||
*
|
||||
* @since 2.1.0
|
||||
*
|
||||
* @uses $wp_query Used to tell if the use a comment feed.
|
||||
* @global WP_Query $wp_query Used to tell if the use a comment feed.
|
||||
*/
|
||||
function do_feed() {
|
||||
global $wp_query;
|
||||
@@ -1473,7 +1484,7 @@ function wp_mkdir_p( $target ) {
|
||||
$wrapper = null;
|
||||
|
||||
// Strip the protocol.
|
||||
if( wp_is_stream( $target ) ) {
|
||||
if ( wp_is_stream( $target ) ) {
|
||||
list( $wrapper, $target ) = explode( '://', $target, 2 );
|
||||
}
|
||||
|
||||
@@ -1481,7 +1492,7 @@ function wp_mkdir_p( $target ) {
|
||||
$target = str_replace( '//', '/', $target );
|
||||
|
||||
// Put the wrapper back on the target.
|
||||
if( $wrapper !== null ) {
|
||||
if ( $wrapper !== null ) {
|
||||
$target = $wrapper . '://' . $target;
|
||||
}
|
||||
|
||||
@@ -1605,10 +1616,12 @@ function wp_normalize_path( $path ) {
|
||||
*
|
||||
* @since 2.5.0
|
||||
*
|
||||
* @staticvar string $temp
|
||||
*
|
||||
* @return string Writable temporary directory.
|
||||
*/
|
||||
function get_temp_dir() {
|
||||
static $temp;
|
||||
static $temp = '';
|
||||
if ( defined('WP_TEMP_DIR') )
|
||||
return trailingslashit(WP_TEMP_DIR);
|
||||
|
||||
@@ -1629,8 +1642,7 @@ function get_temp_dir() {
|
||||
if ( is_dir( $temp ) && wp_is_writable( $temp ) )
|
||||
return $temp;
|
||||
|
||||
$temp = '/tmp/';
|
||||
return $temp;
|
||||
return '/tmp/';
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2000,8 +2012,7 @@ function wp_upload_bits( $name, $deprecated, $bits, $time = null ) {
|
||||
* @since 2.5.0
|
||||
*
|
||||
* @param string $ext The extension to search.
|
||||
* @return string|null The file type, example: audio, video, document, spreadsheet, etc.
|
||||
* Null if not found.
|
||||
* @return string|void The file type, example: audio, video, document, spreadsheet, etc.
|
||||
*/
|
||||
function wp_ext2type( $ext ) {
|
||||
$ext = strtolower( $ext );
|
||||
@@ -2031,8 +2042,6 @@ function wp_ext2type( $ext ) {
|
||||
foreach ( $ext2type as $type => $exts )
|
||||
if ( in_array( $ext, $exts ) )
|
||||
return $type;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2084,7 +2093,6 @@ function wp_check_filetype( $filename, $mimes = null ) {
|
||||
* if original $filename is valid.
|
||||
*/
|
||||
function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
|
||||
|
||||
$proper_filename = false;
|
||||
|
||||
// Do basic extension validation and MIME mapping
|
||||
@@ -2473,6 +2481,7 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" <?php if ( function_exists( 'language_attributes' ) && function_exists( 'is_rtl' ) ) language_attributes(); else echo "dir='$text_direction'"; ?>>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<title><?php echo $title ?></title>
|
||||
<style type="text/css">
|
||||
html {
|
||||
@@ -2592,6 +2601,8 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
|
||||
* @since 3.2.0
|
||||
* @access private
|
||||
*
|
||||
* @global wp_xmlrpc_server $wp_xmlrpc_server
|
||||
*
|
||||
* @param string $message Error message.
|
||||
* @param string $title Optional. Error title. Default empty.
|
||||
* @param string|array $args Optional. Arguments to control behavior. Default empty array.
|
||||
@@ -2650,7 +2661,7 @@ function _scalar_wp_die_handler( $message = '' ) {
|
||||
* @param int $options Optional. Options to be passed to json_encode(). Default 0.
|
||||
* @param int $depth Optional. Maximum depth to walk through $data. Must be
|
||||
* greater than 0. Default 512.
|
||||
* @return bool|string The JSON encoded string, or false if it cannot be encoded.
|
||||
* @return string|false The JSON encoded string, or false if it cannot be encoded.
|
||||
*/
|
||||
function wp_json_encode( $data, $options = 0, $depth = 512 ) {
|
||||
/*
|
||||
@@ -2756,6 +2767,8 @@ function _wp_json_sanity_check( $data, $depth ) {
|
||||
*
|
||||
* @see _wp_json_sanity_check()
|
||||
*
|
||||
* @staticvar bool $use_mb
|
||||
*
|
||||
* @param string $string The string which is to be converted.
|
||||
* @return string The checked string.
|
||||
*/
|
||||
@@ -3258,6 +3271,8 @@ function wp_maybe_load_widgets() {
|
||||
* Append the Widgets menu to the themes main menu.
|
||||
*
|
||||
* @since 2.2.0
|
||||
*
|
||||
* @global array $submenu
|
||||
*/
|
||||
function wp_widgets_add_menu() {
|
||||
global $submenu;
|
||||
@@ -3400,6 +3415,53 @@ function _deprecated_function( $function, $version, $replacement = null ) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Marks a constructor as deprecated and informs when it has been used.
|
||||
*
|
||||
* Similar to _deprecated_function(), but with different strings. Used to
|
||||
* remove PHP4 style constructors.
|
||||
*
|
||||
* The current behavior is to trigger a user error if `WP_DEBUG` is true.
|
||||
*
|
||||
* This function is to be used in every PHP4 style constructor method that is deprecated.
|
||||
*
|
||||
* @since 4.3.0
|
||||
* @access private
|
||||
*
|
||||
* @param string $class The class containing the deprecated constructor.
|
||||
* @param string $version The version of WordPress that deprecated the function.
|
||||
*/
|
||||
function _deprecated_constructor( $class, $version ) {
|
||||
|
||||
/**
|
||||
* Fires when a deprecated constructor is called.
|
||||
*
|
||||
* @since 4.3.0
|
||||
*
|
||||
* @param string $class The class containing the deprecated constructor.
|
||||
* @param string $version The version of WordPress that deprecated the function.
|
||||
*/
|
||||
do_action( 'deprecated_constructor_run', $class, $version );
|
||||
|
||||
/**
|
||||
* Filter whether to trigger an error for deprecated functions.
|
||||
*
|
||||
* `WP_DEBUG` must be true in addition to the filter evaluating to true.
|
||||
*
|
||||
* @since 4.3.0
|
||||
*
|
||||
* @param bool $trigger Whether to trigger the error for deprecated functions. Default true.
|
||||
*/
|
||||
if ( WP_DEBUG && apply_filters( 'deprecated_constructor_trigger_error', true ) ) {
|
||||
if ( function_exists( '__' ) ) {
|
||||
trigger_error( sprintf( __( 'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.' ), $class, $version, '<pre>__construct()</pre>' ) );
|
||||
} else {
|
||||
trigger_error( sprintf( 'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.', $class, $version, '<pre>__construct()</pre>' ) );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark a file as deprecated and inform when it has been used.
|
||||
*
|
||||
@@ -3584,6 +3646,8 @@ function is_lighttpd_before_150() {
|
||||
*
|
||||
* @since 2.5.0
|
||||
*
|
||||
* @global bool $is_apache
|
||||
*
|
||||
* @param string $mod The module, e.g. mod_rewrite.
|
||||
* @param bool $default Optional. The default return value if the module is not found. Default false.
|
||||
* @return bool Whether the specified module is loaded.
|
||||
@@ -3613,6 +3677,8 @@ function apache_mod_loaded($mod, $default = false) {
|
||||
*
|
||||
* @since 2.8.0
|
||||
*
|
||||
* @global bool $is_iis7
|
||||
*
|
||||
* @return bool Whether IIS7 supports permalinks.
|
||||
*/
|
||||
function iis7_supports_permalinks() {
|
||||
@@ -3653,7 +3719,7 @@ function iis7_supports_permalinks() {
|
||||
* @since 1.2.0
|
||||
*
|
||||
* @param string $file File path.
|
||||
* @param array $allowed_files List of allowed files.
|
||||
* @param array $allowed_files List of allowed files.
|
||||
* @return int 0 means nothing is wrong, greater than 0 means something was wrong.
|
||||
*/
|
||||
function validate_file( $file, $allowed_files = '' ) {
|
||||
@@ -3710,6 +3776,8 @@ function force_ssl_login( $force = null ) {
|
||||
*
|
||||
* @since 2.6.0
|
||||
*
|
||||
* @staticvar bool $forced
|
||||
*
|
||||
* @param string|bool $force Optional. Whether to force SSL in admin screens. Default null.
|
||||
* @return bool True if forced, false if not forced.
|
||||
*/
|
||||
@@ -3755,7 +3823,7 @@ function wp_guess_url() {
|
||||
if ( false !== strpos( $_SERVER['SCRIPT_FILENAME'], $abspath_fix ) ) {
|
||||
// Request is hitting a file inside ABSPATH
|
||||
$directory = str_replace( ABSPATH, '', $script_filename_dir );
|
||||
// Strip off the sub directory, and any file/query paramss
|
||||
// Strip off the sub directory, and any file/query params
|
||||
$path = preg_replace( '#/' . preg_quote( $directory, '#' ) . '/[^/]*$#i', '' , $_SERVER['REQUEST_URI'] );
|
||||
} elseif ( false !== strpos( $abspath_fix, $script_filename_dir ) ) {
|
||||
// Request is hitting a file above ABSPATH
|
||||
@@ -3786,6 +3854,8 @@ function wp_guess_url() {
|
||||
*
|
||||
* @since 3.3.0
|
||||
*
|
||||
* @staticvar bool $_suspend
|
||||
*
|
||||
* @param bool $suspend Optional. Suspends additions if true, re-enables them if false.
|
||||
* @return bool The current suspend setting
|
||||
*/
|
||||
@@ -3807,6 +3877,8 @@ function wp_suspend_cache_addition( $suspend = null ) {
|
||||
*
|
||||
* @since 2.7.0
|
||||
*
|
||||
* @global bool $_wp_suspend_cache_invalidation
|
||||
*
|
||||
* @param bool $suspend Optional. Whether to suspend or enable cache invalidation. Default true.
|
||||
* @return bool The current suspend setting.
|
||||
*/
|
||||
@@ -3823,6 +3895,8 @@ function wp_suspend_cache_invalidation( $suspend = true ) {
|
||||
*
|
||||
* @since 3.0.0
|
||||
*
|
||||
* @global object $current_site
|
||||
*
|
||||
* @param int $site_id Optional. Site ID to test. Defaults to current site.
|
||||
* Defaults to current site.
|
||||
* @return bool True if $site_id is the main site of the network, or if not
|
||||
@@ -3850,32 +3924,59 @@ function is_main_site( $site_id = null ) {
|
||||
* @return bool True if $network_id is the main network, or if not running Multisite.
|
||||
*/
|
||||
function is_main_network( $network_id = null ) {
|
||||
global $wpdb;
|
||||
|
||||
if ( ! is_multisite() )
|
||||
if ( ! is_multisite() ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$current_network_id = (int) get_current_site()->id;
|
||||
|
||||
if ( ! $network_id )
|
||||
if ( null === $network_id ) {
|
||||
$network_id = $current_network_id;
|
||||
}
|
||||
|
||||
$network_id = (int) $network_id;
|
||||
|
||||
if ( defined( 'PRIMARY_NETWORK_ID' ) )
|
||||
return $network_id === (int) PRIMARY_NETWORK_ID;
|
||||
return ( $network_id === get_main_network_id() );
|
||||
}
|
||||
|
||||
if ( 1 === $current_network_id )
|
||||
return $network_id === $current_network_id;
|
||||
/**
|
||||
* Get the main network ID.
|
||||
*
|
||||
* @since 4.3.0
|
||||
*
|
||||
* @global wpdb $wpdb WordPress database abstraction object.
|
||||
*
|
||||
* @return int The ID of the main network.
|
||||
*/
|
||||
function get_main_network_id() {
|
||||
global $wpdb;
|
||||
|
||||
$primary_network_id = (int) wp_cache_get( 'primary_network_id', 'site-options' );
|
||||
if ( ! is_multisite() ) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( $primary_network_id )
|
||||
return $network_id === $primary_network_id;
|
||||
if ( defined( 'PRIMARY_NETWORK_ID' ) ) {
|
||||
$main_network_id = PRIMARY_NETWORK_ID;
|
||||
} elseif ( 1 === (int) get_current_site()->id ) {
|
||||
// If the current network has an ID of 1, assume it is the main network.
|
||||
$main_network_id = 1;
|
||||
} else {
|
||||
$main_network_id = wp_cache_get( 'primary_network_id', 'site-options' );
|
||||
|
||||
$primary_network_id = (int) $wpdb->get_var( "SELECT id FROM $wpdb->site ORDER BY id LIMIT 1" );
|
||||
wp_cache_add( 'primary_network_id', $primary_network_id, 'site-options' );
|
||||
if ( false === $main_network_id ) {
|
||||
$main_network_id = (int) $wpdb->get_var( "SELECT id FROM {$wpdb->site} ORDER BY id LIMIT 1" );
|
||||
wp_cache_add( 'primary_network_id', $main_network_id, 'site-options' );
|
||||
}
|
||||
}
|
||||
|
||||
return $network_id === $primary_network_id;
|
||||
/**
|
||||
* Filter the main network ID.
|
||||
*
|
||||
* @since 4.3.0
|
||||
*
|
||||
* @param int $main_network_id The ID of the main network.
|
||||
*/
|
||||
return (int) apply_filters( 'get_main_network_id', $main_network_id );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3883,6 +3984,8 @@ function is_main_network( $network_id = null ) {
|
||||
*
|
||||
* @since 3.0.0
|
||||
*
|
||||
* @staticvar bool $global_terms
|
||||
*
|
||||
* @return bool True if multisite and global terms enabled.
|
||||
*/
|
||||
function global_terms_enabled() {
|
||||
@@ -3900,7 +4003,7 @@ function global_terms_enabled() {
|
||||
*
|
||||
* @since 3.0.0
|
||||
*
|
||||
* @param null $anbled Whether global terms are enabled.
|
||||
* @param null $enabled Whether global terms are enabled.
|
||||
*/
|
||||
$filter = apply_filters( 'global_terms_enabled', null );
|
||||
if ( ! is_null( $filter ) )
|
||||
@@ -3918,7 +4021,7 @@ function global_terms_enabled() {
|
||||
*
|
||||
* @since 2.8.0
|
||||
*
|
||||
* @return float|bool Timezone GMT offset, false otherwise.
|
||||
* @return float|false Timezone GMT offset, false otherwise.
|
||||
*/
|
||||
function wp_timezone_override_offset() {
|
||||
if ( !$timezone_string = get_option( 'timezone_string' ) ) {
|
||||
@@ -3986,6 +4089,8 @@ function _wp_timezone_choice_usort_callback( $a, $b ) {
|
||||
*
|
||||
* @since 2.9.0
|
||||
*
|
||||
* @staticvar bool $mo_loaded
|
||||
*
|
||||
* @param string $selected_zone Selected timezone.
|
||||
* @return string
|
||||
*/
|
||||
@@ -4132,6 +4237,8 @@ function _cleanup_header_comment( $str ) {
|
||||
* The default value of `EMPTY_TRASH_DAYS` is 30 (days).
|
||||
*
|
||||
* @since 2.9.0
|
||||
*
|
||||
* @global wpdb $wpdb
|
||||
*/
|
||||
function wp_scheduled_delete() {
|
||||
global $wpdb;
|
||||
@@ -4242,7 +4349,7 @@ function get_file_data( $file, $default_headers, $context = '' ) {
|
||||
*
|
||||
* @see __return_false()
|
||||
*
|
||||
* @return bool True.
|
||||
* @return true True.
|
||||
*/
|
||||
function __return_true() {
|
||||
return true;
|
||||
@@ -4257,7 +4364,7 @@ function __return_true() {
|
||||
*
|
||||
* @see __return_true()
|
||||
*
|
||||
* @return bool False.
|
||||
* @return false False.
|
||||
*/
|
||||
function __return_false() {
|
||||
return false;
|
||||
@@ -4438,17 +4545,22 @@ function send_frame_options_header() {
|
||||
* Retrieve a list of protocols to allow in HTML attributes.
|
||||
*
|
||||
* @since 3.3.0
|
||||
* @since 4.3.0 Added 'webcal' to the protocols array.
|
||||
*
|
||||
* @see wp_kses()
|
||||
* @see esc_url()
|
||||
*
|
||||
* @return array Array of allowed protocols.
|
||||
* @staticvar array $protocols
|
||||
*
|
||||
* @return array Array of allowed protocols. Defaults to an array containing 'http', 'https',
|
||||
* 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet',
|
||||
* 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp', and 'webcal'.
|
||||
*/
|
||||
function wp_allowed_protocols() {
|
||||
static $protocols;
|
||||
static $protocols = array();
|
||||
|
||||
if ( empty( $protocols ) ) {
|
||||
$protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp' );
|
||||
$protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn', 'tel', 'fax', 'xmpp', 'webcal' );
|
||||
|
||||
/**
|
||||
* Filter the list of protocols allowed in HTML attributes.
|
||||
@@ -4543,7 +4655,7 @@ function _get_non_cached_ids( $object_ids, $cache_key ) {
|
||||
* @since 3.4.0
|
||||
* @access private
|
||||
*
|
||||
* @return bool true|false Whether the device is able to upload files.
|
||||
* @return bool Whether the device is able to upload files.
|
||||
*/
|
||||
function _device_can_upload() {
|
||||
if ( ! wp_is_mobile() )
|
||||
@@ -4692,9 +4804,10 @@ function wp_auth_check_html() {
|
||||
*
|
||||
* @since 3.6.0
|
||||
*
|
||||
* @param array|object $response The Heartbeat response object or array.
|
||||
* @return array|object $response The Heartbeat response object or array with 'wp-auth-check'
|
||||
* value set.
|
||||
* @global int $login_grace_period
|
||||
*
|
||||
* @param array $response The Heartbeat response.
|
||||
* @return array $response The Heartbeat response with 'wp-auth-check' value set.
|
||||
*/
|
||||
function wp_auth_check( $response ) {
|
||||
$response['wp-auth-check'] = is_user_logged_in() && empty( $GLOBALS['login_grace_period'] );
|
||||
@@ -4767,6 +4880,9 @@ function _canonical_charset( $charset ) {
|
||||
*
|
||||
* @see reset_mbstring_encoding()
|
||||
*
|
||||
* @staticvar array $encodings
|
||||
* @staticvar bool $overloaded
|
||||
*
|
||||
* @param bool $reset Optional. Whether to reset the encoding back to a previously-set encoding.
|
||||
* Default false.
|
||||
*/
|
||||
@@ -4845,3 +4961,37 @@ function wp_delete_file( $file ) {
|
||||
@unlink( $delete );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Outputs a small JS snippet on preview tabs/windows to remove `window.name` on unload.
|
||||
*
|
||||
* This prevents reusing the same tab for a preview when the user has navigated away.
|
||||
*
|
||||
* @since 4.3.0
|
||||
*/
|
||||
function wp_post_preview_js() {
|
||||
global $post;
|
||||
|
||||
if ( ! is_preview() || empty( $post ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Has to match the window name used in post_submit_meta_box()
|
||||
$name = 'wp-preview-' . (int) $post->ID;
|
||||
|
||||
?>
|
||||
<script>
|
||||
( function() {
|
||||
var query = document.location.search;
|
||||
|
||||
if ( query && query.indexOf( 'preview=true' ) !== -1 ) {
|
||||
window.name = '<?php echo $name; ?>';
|
||||
}
|
||||
|
||||
if ( window.addEventListener ) {
|
||||
window.addEventListener( 'unload', function() { window.name = ''; }, false );
|
||||
}
|
||||
}());
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
Reference in new issue
Block a user