function preview_theme() {
_deprecated_function( __FUNCTION__, '4.3.0' );
* Private function to modify the current template when previewing a theme
function _preview_theme_template_filter() {
_deprecated_function( __FUNCTION__, '4.3.0' );
* Private function to modify the current stylesheet when previewing a theme
function _preview_theme_stylesheet_filter() {
_deprecated_function( __FUNCTION__, '4.3.0' );
* Callback function for ob_start() to capture all links in the theme.
function preview_theme_ob_filter( $content ) {
_deprecated_function( __FUNCTION__, '4.3.0' );
* Manipulates preview theme links in order to control and maintain location.
* Callback function for preg_replace_callback() to accept and filter matches.
function preview_theme_ob_filter_callback( $matches ) {
_deprecated_function( __FUNCTION__, '4.3.0' );
* 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.
* @deprecated 4.3.0 Use format_for_editor()
* @see format_for_editor()
* @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()' );
* 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.
* @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.
* @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()' );
$output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) ); // Convert only '< > &'.
* Filters the text before it is formatted for the HTML editor.
* @param string $output The HTML-formatted text.
return apply_filters( 'htmledit_pre', $output );
* Retrieve permalink from post ID.
* @deprecated 4.4.0 Use get_permalink()
* @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is global $post.
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
* @deprecated 4.4.0 Use 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' );
$options['redirection'] = 5;
if ( false == $file_path )
$options['method'] = 'HEAD';
$options['method'] = 'GET';
$response = wp_safe_remote_request( $url, $options );
if ( is_wp_error( $response ) )
$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 )
// GET request - write it to the supplied filename.
$out_fp = fopen($file_path, 'w');
fwrite( $out_fp, wp_remote_retrieve_body( $response ) );
* Whether SSL login should be forced.
* @deprecated 4.4.0 Use 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.
* @return string Full path to comments popup template file.
function get_comments_popup_template() {
_deprecated_function( __FUNCTION__, '4.5.0' );
* Determines whether the current URL is within the comments popup window.
* For more information on this and similar theme functions, check out
* the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
* Conditional Tags} article in the Theme Developer Handbook.
* @return false Always returns false.
function is_comments_popup() {
_deprecated_function( __FUNCTION__, '4.5.0' );
* Display the JS popup script to show a comment.
function comments_popup_script() {
_deprecated_function( __FUNCTION__, '4.5.0' );
* Adds element attributes to open links in new tabs.
* @param string $text Content to replace links to open in a new tab.
* @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);
* 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.
* @return string An empty string.
function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
_deprecated_function( __FUNCTION__, '4.6.0' );
* Retrieve path of paged template in current or parent template.
* @deprecated 4.7.0 The paged.php template is no longer part of the theme template hierarchy.
* @return string Full path to paged template file.
function get_paged_template() {
_deprecated_function( __FUNCTION__, '4.7.0' );
return get_query_template( 'paged' );
* Removes the HTML JavaScript entities found in early versions of Netscape 4.
* Previously, this function was pulled in from the original
* import of kses and removed a specific vulnerability only
* existent in early version of Netscape 4. However, this
* vulnerability never affected any other browsers and can
* be considered safe for the modern web.
* The regular expression which sanitized this vulnerability
* has been removed in consideration of the performance and
* energy demands it placed, now merely passing through its
* @deprecated 4.7.0 Officially dropped security support for Netscape 4.
function wp_kses_js_entities( $string ) {
_deprecated_function( __FUNCTION__, '4.7.0' );
return preg_replace( '%&\s*\{[^}]*(\}\s*;?|$)%', '', $string );
* Used by usort() as a callback, should not be used directly. Can actually be
* used to sort any term object.
* @deprecated 4.7.0 Use wp_list_sort()
function _usort_terms_by_ID( $a, $b ) {
_deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort()' );
if ( $a->term_id > $b->term_id )
elseif ( $a->term_id < $b->term_id )
* Sort categories by name.
* Used by usort() as a callback, should not be used directly. Can actually be
* used to sort any term object.
* @deprecated 4.7.0 Use wp_list_sort()
function _usort_terms_by_name( $a, $b ) {
_deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort()' );
return strcmp( $a->name, $b->name );
* Sort menu items by the desired key.
* @deprecated 4.7.0 Use wp_list_sort()
* @global string $_menu_item_sort_prop
* @param object $a The first object to compare
* @param object $b The second object to compare
* @return int -1, 0, or 1 if $a is considered to be respectively less than, equal to, or greater than $b.
function _sort_nav_menu_items( $a, $b ) {
global $_menu_item_sort_prop;
_deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort()' );
if ( empty( $_menu_item_sort_prop ) )
if ( ! isset( $a->$_menu_item_sort_prop ) || ! isset( $b->$_menu_item_sort_prop ) )
$_a = (int) $a->$_menu_item_sort_prop;
$_b = (int) $b->$_menu_item_sort_prop;
if ( $a->$_menu_item_sort_prop == $b->$_menu_item_sort_prop )
elseif ( $_a == $a->$_menu_item_sort_prop && $_b == $b->$_menu_item_sort_prop )
return $_a < $_b ? -1 : 1;
return strcmp( $a->$_menu_item_sort_prop, $b->$_menu_item_sort_prop );
* Retrieves the Press This bookmarklet link.
function get_shortcut_link() {
_deprecated_function( __FUNCTION__, '4.9.0' );
* Filters the Press This bookmarklet link.
* @param string $link The Press This bookmarklet link.
return apply_filters( 'shortcut_link', $link );
* Ajax handler for saving a post from Press This.
function wp_ajax_press_this_save_post() {
_deprecated_function( __FUNCTION__, '4.9.0' );
if ( is_plugin_active( 'press-this/press-this-plugin.php' ) ) {
include WP_PLUGIN_DIR . '/press-this/class-wp-press-this-plugin.php';
$wp_press_this = new WP_Press_This_Plugin();
$wp_press_this->save_post();
wp_send_json_error( array( 'errorMessage' => __( 'The Press This plugin is required.' ) ) );
* Ajax handler for creating new category from Press This.
function wp_ajax_press_this_add_category() {
_deprecated_function( __FUNCTION__, '4.9.0' );
if ( is_plugin_active( 'press-this/press-this-plugin.php' ) ) {
include WP_PLUGIN_DIR . '/press-this/class-wp-press-this-plugin.php';
$wp_press_this = new WP_Press_This_Plugin();
$wp_press_this->add_category();
wp_send_json_error( array( 'errorMessage' => __( 'The Press This plugin is required.' ) ) );
* Return the user request object for the specified request ID.
* @deprecated 5.4.0 Use wp_get_user_request()
* @see wp_get_user_request()
* @param int $request_id The ID of the user request.
* @return WP_User_Request|false
function wp_get_user_request_data( $request_id ) {
_deprecated_function( __FUNCTION__, '5.4.0', 'wp_get_user_request()' );
return wp_get_user_request( $request_id );
* Filters 'img' elements in post content to add 'srcset' and 'sizes' attributes.