+
+/**
+ * Retrieve nonce action "Are you sure" message.
+ *
+ * Deprecated in 3.4.1 and 3.5.0. Backported to 3.3.3.
+ *
+ * @since 2.0.4
+ * @deprecated 3.4.1 Use wp_nonce_ays()
+ * @see wp_nonce_ays()
+ *
+ * @param string $action Nonce action.
+ * @return string Are you sure message.
+ */
+function wp_explain_nonce( $action ) {
+ _deprecated_function( __FUNCTION__, '3.4.1', 'wp_nonce_ays()' );
+ return __( 'Are you sure you want to do this?' );
+}
+
+/**
+ * Display "sticky" CSS class, if a post is sticky.
+ *
+ * @since 2.7.0
+ * @deprecated 3.5.0 Use post_class()
+ * @see post_class()
+ *
+ * @param int $post_id An optional post ID.
+ */
+function sticky_class( $post_id = null ) {
+ _deprecated_function( __FUNCTION__, '3.5.0', 'post_class()' );
+ if ( is_sticky( $post_id ) )
+ echo ' sticky';
+}
+
+/**
+ * Retrieve post ancestors.
+ *
+ * This is no longer needed as WP_Post lazy-loads the ancestors
+ * property with get_post_ancestors().
+ *
+ * @since 2.3.4
+ * @deprecated 3.5.0 Use get_post_ancestors()
+ * @see get_post_ancestors()
+ *
+ * @param WP_Post &$post Post object, passed by reference (unused).
+ */
+function _get_post_ancestors( &$post ) {
+ _deprecated_function( __FUNCTION__, '3.5.0' );
+}
+
+/**
+ * Load an image from a string, if PHP supports it.
+ *
+ * @since 2.1.0
+ * @deprecated 3.5.0 Use wp_get_image_editor()
+ * @see wp_get_image_editor()
+ *
+ * @param string $file Filename of the image to load.
+ * @return resource The resulting image resource on success, Error string on failure.
+ */
+function wp_load_image( $file ) {
+ _deprecated_function( __FUNCTION__, '3.5.0', 'wp_get_image_editor()' );
+
+ if ( is_numeric( $file ) )
+ $file = get_attached_file( $file );
+
+ if ( ! is_file( $file ) )
+ return sprintf(__('File “%s” doesn’t exist?'), $file);
+
+ if ( ! function_exists('imagecreatefromstring') )
+ return __('The GD image library is not installed.');
+
+ // Set artificially high because GD uses uncompressed images in memory.
+ wp_raise_memory_limit( 'image' );
+
+ $image = imagecreatefromstring( file_get_contents( $file ) );
+
+ if ( !is_resource( $image ) )
+ return sprintf(__('File “%s” is not an image.'), $file);
+
+ return $image;
+}
+
+/**
+ * Scale down an image to fit a particular size and save a new copy of the image.
+ *
+ * The PNG transparency will be preserved using the function, as well as the
+ * image type. If the file going in is PNG, then the resized image is going to
+ * be PNG. The only supported image types are PNG, GIF, and JPEG.
+ *
+ * Some functionality requires API to exist, so some PHP version may lose out
+ * support. This is not the fault of WordPress (where functionality is
+ * downgraded, not actual defects), but of your PHP version.
+ *
+ * @since 2.5.0
+ * @deprecated 3.5.0 Use wp_get_image_editor()
+ * @see wp_get_image_editor()
+ *
+ * @param string $file Image file path.
+ * @param int $max_w Maximum width to resize to.
+ * @param int $max_h Maximum height to resize to.
+ * @param bool $crop Optional. Whether to crop image or resize.
+ * @param string $suffix Optional. File suffix.
+ * @param string $dest_path Optional. New image file path.
+ * @param int $jpeg_quality Optional, default is 90. Image quality percentage.
+ * @return mixed WP_Error on failure. String with new destination path.
+ */
+function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 ) {
+ _deprecated_function( __FUNCTION__, '3.5.0', 'wp_get_image_editor()' );
+
+ $editor = wp_get_image_editor( $file );
+ if ( is_wp_error( $editor ) )
+ return $editor;
+ $editor->set_quality( $jpeg_quality );
+
+ $resized = $editor->resize( $max_w, $max_h, $crop );
+ if ( is_wp_error( $resized ) )
+ return $resized;
+
+ $dest_file = $editor->generate_filename( $suffix, $dest_path );
+ $saved = $editor->save( $dest_file );
+
+ if ( is_wp_error( $saved ) )
+ return $saved;
+
+ return $dest_file;
+}
+
+/**
+ * Retrieve a single post, based on post ID.
+ *
+ * Has categories in 'post_category' property or key. Has tags in 'tags_input'
+ * property or key.
+ *
+ * @since 1.0.0
+ * @deprecated 3.5.0 Use get_post()
+ * @see get_post()
+ *
+ * @param int $postid Post ID.
+ * @param string $mode How to return result, either OBJECT, ARRAY_N, or ARRAY_A.
+ * @return WP_Post|null Post object or array holding post contents and information
+ */
+function wp_get_single_post( $postid = 0, $mode = OBJECT ) {
+ _deprecated_function( __FUNCTION__, '3.5.0', 'get_post()' );
+ return get_post( $postid, $mode );
+}
+
+/**
+ * Check that the user login name and password is correct.
+ *
+ * @since 0.71
+ * @deprecated 3.5.0 Use wp_authenticate()
+ * @see wp_authenticate()
+ *
+ * @param string $user_login User name.
+ * @param string $user_pass User password.
+ * @return bool False if does not authenticate, true if username and password authenticates.
+ */
+function user_pass_ok($user_login, $user_pass) {
+ _deprecated_function( __FUNCTION__, '3.5.0', 'wp_authenticate()' );
+ $user = wp_authenticate( $user_login, $user_pass );
+ if ( is_wp_error( $user ) )
+ return false;
+
+ return true;
+}
+
+/**
+ * Callback formerly fired on the save_post hook. No longer needed.
+ *
+ * @since 2.3.0
+ * @deprecated 3.5.0
+ */
+function _save_post_hook() {}
+
+/**
+ * Check if the installed version of GD supports particular image type
+ *
+ * @since 2.9.0
+ * @deprecated 3.5.0 Use wp_image_editor_supports()
+ * @see wp_image_editor_supports()
+ *
+ * @param string $mime_type
+ * @return bool
+ */
+function gd_edit_image_support($mime_type) {
+ _deprecated_function( __FUNCTION__, '3.5.0', 'wp_image_editor_supports()' );
+
+ if ( function_exists('imagetypes') ) {
+ switch( $mime_type ) {
+ case 'image/jpeg':
+ return (imagetypes() & IMG_JPG) != 0;
+ case 'image/png':
+ return (imagetypes() & IMG_PNG) != 0;
+ case 'image/gif':
+ return (imagetypes() & IMG_GIF) != 0;
+ }
+ } else {
+ switch( $mime_type ) {
+ case 'image/jpeg':
+ return function_exists('imagecreatefromjpeg');
+ case 'image/png':
+ return function_exists('imagecreatefrompng');
+ case 'image/gif':
+ return function_exists('imagecreatefromgif');
+ }
+ }
+ return false;
+}
+
+/**
+ * Converts an integer byte value to a shorthand byte value.
+ *
+ * @since 2.3.0
+ * @deprecated 3.6.0 Use size_format()
+ * @see size_format()
+ *
+ * @param int $bytes An integer byte value.
+ * @return string A shorthand byte value.
+ */
+function wp_convert_bytes_to_hr( $bytes ) {
+ _deprecated_function( __FUNCTION__, '3.6.0', 'size_format()' );
+
+ $units = array( 0 => 'B', 1 => 'KB', 2 => 'MB', 3 => 'GB', 4 => 'TB' );
+ $log = log( $bytes, KB_IN_BYTES );
+ $power = (int) $log;
+ $size = pow( KB_IN_BYTES, $log - $power );
+
+ if ( ! is_nan( $size ) && array_key_exists( $power, $units ) ) {
+ $unit = $units[ $power ];
+ } else {
+ $size = $bytes;
+ $unit = $units[0];
+ }
+
+ return $size . $unit;
+}
+
+/**
+ * Formerly used internally to tidy up the search terms.
+ *
+ * @since 2.9.0
+ * @access private
+ * @deprecated 3.7.0
+ *
+ * @param string $t Search terms to "tidy", e.g. trim.
+ * @return string Trimmed search terms.
+ */
+function _search_terms_tidy( $t ) {
+ _deprecated_function( __FUNCTION__, '3.7.0' );
+ return trim( $t, "\"'\n\r " );
+}
+
+/**
+ * Determine if TinyMCE is available.
+ *
+ * Checks to see if the user has deleted the tinymce files to slim down
+ * their WordPress install.
+ *
+ * @since 2.1.0
+ * @deprecated 3.9.0
+ *
+ * @return bool Whether TinyMCE exists.
+ */
+function rich_edit_exists() {
+ global $wp_rich_edit_exists;
+ _deprecated_function( __FUNCTION__, '3.9.0' );
+
+ if ( ! isset( $wp_rich_edit_exists ) )
+ $wp_rich_edit_exists = file_exists( ABSPATH . WPINC . '/js/tinymce/tinymce.js' );
+
+ return $wp_rich_edit_exists;
+}
+
+/**
+ * Old callback for tag link tooltips.
+ *
+ * @since 2.7.0
+ * @access private
+ * @deprecated 3.9.0
+ *
+ * @param int $count Number of topics.
+ * @return int Number of topics.
+ */
+function default_topic_count_text( $count ) {
+ return $count;
+}
+
+/**
+ * Formerly used to escape strings before inserting into the DB.
+ *
+ * Has not performed this function for many, many years. Use wpdb::prepare() instead.
+ *
+ * @since 0.71
+ * @deprecated 3.9.0
+ *
+ * @param string $content The text to format.
+ * @return string The very same text.
+ */
+function format_to_post( $content ) {
+ _deprecated_function( __FUNCTION__, '3.9.0' );
+ return $content;
+}
+
+/**
+ * Formerly used to escape strings before searching the DB. It was poorly documented and never worked as described.
+ *
+ * @since 2.5.0
+ * @deprecated 4.0.0 Use wpdb::esc_like()
+ * @see wpdb::esc_like()
+ *
+ * @param string $text The text to be escaped.
+ * @return string text, safe for inclusion in LIKE query.
+ */
+function like_escape($text) {
+ _deprecated_function( __FUNCTION__, '4.0.0', 'wpdb::esc_like()' );
+ return str_replace( array( "%", "_" ), array( "\\%", "\\_" ), $text );
+}
+
+/**
+ * Determines if the URL can be accessed over SSL.
+ *
+ * Determines if the URL can be accessed over SSL by using the WordPress HTTP API to access
+ * the URL using https as the scheme.
+ *
+ * @since 2.5.0
+ * @deprecated 4.0.0
+ *
+ * @param string $url The URL to test.
+ * @return bool Whether SSL access is available.
+ */
+function url_is_accessable_via_ssl( $url ) {
+ _deprecated_function( __FUNCTION__, '4.0.0' );
+
+ $response = wp_remote_get( set_url_scheme( $url, 'https' ) );
+
+ if ( !is_wp_error( $response ) ) {
+ $status = wp_remote_retrieve_response_code( $response );
+ if ( 200 == $status || 401 == $status ) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+/**
+ * Start preview theme output buffer.
+ *
+ * Will only perform task if the user has permissions and template and preview
+ * query variables exist.
+ *
+ * @since 2.6.0
+ * @deprecated 4.3.0
+ */
+function preview_theme() {
+ _deprecated_function( __FUNCTION__, '4.3.0' );
+}
+
+/**
+ * Private function to modify the current template when previewing a theme
+ *
+ * @since 2.9.0
+ * @deprecated 4.3.0
+ * @access private
+ *
+ * @return string
+ */
+function _preview_theme_template_filter() {
+ _deprecated_function( __FUNCTION__, '4.3.0' );
+ return '';
+}
+
+/**
+ * Private function to modify the current stylesheet when previewing a theme
+ *
+ * @since 2.9.0
+ * @deprecated 4.3.0
+ * @access private
+ *
+ * @return string
+ */
+function _preview_theme_stylesheet_filter() {
+ _deprecated_function( __FUNCTION__, '4.3.0' );
+ return '';
+}
+
+/**
+ * Callback function for ob_start() to capture all links in the theme.
+ *
+ * @since 2.6.0
+ * @deprecated 4.3.0
+ * @access private
+ *
+ * @param string $content
+ * @return string
+ */
+function preview_theme_ob_filter( $content ) {
+ _deprecated_function( __FUNCTION__, '4.3.0' );
+ return $content;
+}
+
+/**
+ * Manipulates preview theme links in order to control and maintain location.
+ *
+ * Callback function for preg_replace_callback() to accept and filter matches.
+ *
+ * @since 2.6.0
+ * @deprecated 4.3.0
+ * @access private
+ *
+ * @param array $matches
+ * @return string
+ */
+function preview_theme_ob_filter_callback( $matches ) {
+ _deprecated_function( __FUNCTION__, '4.3.0' );
+ return '';
+}
+
+/**
+ * Formats text for the rich text editor.
+ *
+ * The {@see 'richedit_pre'} filter is applied here. If $text is empty the filter will
+ * be applied to an empty string.
+ *
+ * @since 2.0.0
+ * @deprecated 4.3.0
+ *
+ * @param string $text The text to be formatted.
+ * @return string The formatted text after filter is applied.
+ */
+function wp_richedit_pre($text) {
+ _deprecated_function( __FUNCTION__, '4.3.0', 'format_for_editor()' );
+
+ if ( empty( $text ) ) {
+ /**
+ * Filters text returned for the rich text editor.
+ *
+ * This filter is first evaluated, and the value returned, if an empty string
+ * is passed to wp_richedit_pre(). If an empty string is passed, it results
+ * in a break tag and line feed.
+ *
+ * If a non-empty string is passed, the filter is evaluated on the wp_richedit_pre()
+ * return after being formatted.
+ *
+ * @since 2.0.0
+ * @deprecated 4.3.0
+ *
+ * @param string $output Text for the rich text editor.
+ */
+ return apply_filters( 'richedit_pre', '' );
+ }
+
+ $output = convert_chars($text);
+ $output = wpautop($output);
+ $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) );
+
+ /** This filter is documented in wp-includes/deprecated.php */
+ return apply_filters( 'richedit_pre', $output );
+}
+
+/**
+ * Formats text for the HTML editor.
+ *
+ * Unless $output is empty it will pass through htmlspecialchars before the
+ * {@see 'htmledit_pre'} filter is applied.
+ *
+ * @since 2.5.0
+ * @deprecated 4.3.0 Use format_for_editor()
+ * @see format_for_editor()
+ *
+ * @param string $output The text to be formatted.
+ * @return string Formatted text after filter applied.
+ */
+function wp_htmledit_pre($output) {
+ _deprecated_function( __FUNCTION__, '4.3.0', 'format_for_editor()' );
+
+ if ( !empty($output) )
+ $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) ); // convert only < > &
+
+ /**
+ * Filters the text before it is formatted for the HTML editor.
+ *
+ * @since 2.5.0
+ * @deprecated 4.3.0
+ *
+ * @param string $output The HTML-formatted text.
+ */
+ return apply_filters( 'htmledit_pre', $output );
+}
+
+/**
+ * Retrieve permalink from post ID.
+ *
+ * @since 1.0.0
+ * @deprecated 4.4.0 Use get_permalink()
+ * @see get_permalink()
+ *
+ * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
+ * @return string|false
+ */
+function post_permalink( $post_id = 0 ) {
+ _deprecated_function( __FUNCTION__, '4.4.0', 'get_permalink()' );
+
+ return get_permalink( $post_id );
+}
+
+/**
+ * Perform a HTTP HEAD or GET request.
+ *
+ * If $file_path is a writable filename, this will do a GET request and write
+ * the file to that path.
+ *
+ * @since 2.5.0
+ * @deprecated 4.4.0 Use WP_Http
+ * @see WP_Http
+ *
+ * @param string $url URL to fetch.
+ * @param string|bool $file_path Optional. File path to write request to. Default false.
+ * @param int $red Optional. The number of Redirects followed, Upon 5 being hit,
+ * returns false. Default 1.
+ * @return bool|string False on failure and string of headers if HEAD request.
+ */
+function wp_get_http( $url, $file_path = false, $red = 1 ) {
+ _deprecated_function( __FUNCTION__, '4.4.0', 'WP_Http' );
+
+ @set_time_limit( 60 );
+
+ if ( $red > 5 )
+ return false;
+
+ $options = array();
+ $options['redirection'] = 5;
+
+ if ( false == $file_path )
+ $options['method'] = 'HEAD';
+ else
+ $options['method'] = 'GET';
+
+ $response = wp_safe_remote_request( $url, $options );
+
+ if ( is_wp_error( $response ) )
+ return false;
+
+ $headers = wp_remote_retrieve_headers( $response );
+ $headers['response'] = wp_remote_retrieve_response_code( $response );
+
+ // WP_HTTP no longer follows redirects for HEAD requests.
+ if ( 'HEAD' == $options['method'] && in_array($headers['response'], array(301, 302)) && isset( $headers['location'] ) ) {
+ return wp_get_http( $headers['location'], $file_path, ++$red );
+ }
+
+ if ( false == $file_path )
+ return $headers;
+
+ // GET request - write it to the supplied filename
+ $out_fp = fopen($file_path, 'w');
+ if ( !$out_fp )
+ return $headers;
+
+ fwrite( $out_fp, wp_remote_retrieve_body( $response ) );
+ fclose($out_fp);
+ clearstatcache();
+
+ return $headers;
+}
+
+/**
+ * Whether SSL login should be forced.
+ *
+ * @since 2.6.0
+ * @deprecated 4.4.0 Use force_ssl_admin()
+ * @see force_ssl_admin()
+ *
+ * @param string|bool $force Optional Whether to force SSL login. Default null.
+ * @return bool True if forced, false if not forced.
+ */
+function force_ssl_login( $force = null ) {
+ _deprecated_function( __FUNCTION__, '4.4.0', 'force_ssl_admin()' );
+ return force_ssl_admin( $force );
+}
+
+/**
+ * Retrieve path of comment popup template in current or parent template.
+ *
+ * @since 1.5.0
+ * @deprecated 4.5.0
+ *
+ * @return string Full path to comments popup template file.
+ */
+function get_comments_popup_template() {
+ _deprecated_function( __FUNCTION__, '4.5.0' );
+
+ return '';
+}
+
+/**
+ * Whether the current URL is within the comments popup window.
+ *
+ * @since 1.5.0
+ * @deprecated 4.5.0
+ *
+ * @return bool
+ */
+function is_comments_popup() {
+ _deprecated_function( __FUNCTION__, '4.5.0' );
+
+ return false;
+}
+
+/**
+ * Display the JS popup script to show a comment.
+ *
+ * @since 0.71
+ * @deprecated 4.5.0
+ */
+function comments_popup_script() {
+ _deprecated_function( __FUNCTION__, '4.5.0' );
+}
+
+/**
+ * Adds element attributes to open links in new windows.
+ *
+ * @since 0.71
+ * @deprecated 4.5.0
+ *
+ * @param string $text Content to replace links to open in a new window.
+ * @return string Content that has filtered links.
+ */
+function popuplinks( $text ) {
+ _deprecated_function( __FUNCTION__, '4.5.0' );
+ $text = preg_replace('/<a (.+?)>/i', "<a $1 target='_blank' rel='external'>", $text);
+ return $text;
+}
+
+/**
+ * The Google Video embed handler callback.
+ *
+ * Deprecated function that previously assisted in turning Google Video URLs
+ * into embeds but that service has since been shut down.
+ *
+ * @since 2.9.0
+ * @deprecated 4.6.0
+ *
+ * @return string An empty string.
+ */
+function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
+ _deprecated_function( __FUNCTION__, '4.6.0' );
+
+ return '';
+}