value * in a custom ruleset. * * @uses \WordPressCS\WordPress\Helpers\MinimumWPVersionTrait::$minimum_wp_version */ final class DeprecatedFunctionsSniff extends AbstractFunctionRestrictionsSniff { use MinimumWPVersionTrait; /** * List of deprecated functions with alternative when available. * * To be updated after every major release. * Last updated for WordPress 6.3. * * Version numbers should be fully qualified. * Replacement functions should have parentheses. * * To retrieve a function list for comparison, the following tool is available: * https://github.com/JDGrimes/wp-deprecated-code-scanner * * @var array */ private $deprecated_functions = array( // WP 0.71. 'the_category_head' => array( 'alt' => 'get_the_category_by_ID()', 'version' => '0.71', ), 'the_category_ID' => array( 'alt' => 'get_the_category()', 'version' => '0.71', ), // WP 1.2.0. 'permalink_link' => array( 'alt' => 'the_permalink()', 'version' => '1.2.0', ), // WP 1.5.0. 'start_wp' => array( // Verified correct alternative. 'alt' => 'the Loop', 'version' => '1.5.0', ), // WP 1.5.1. 'get_postdata' => array( 'alt' => 'get_post()', 'version' => '1.5.1', ), // WP 2.0.0. 'create_user' => array( 'alt' => 'wp_create_user()', 'version' => '2.0.0', ), 'next_post' => array( 'alt' => 'next_post_link()', 'version' => '2.0.0', ), 'previous_post' => array( 'alt' => 'previous_post_link()', 'version' => '2.0.0', ), 'user_can_create_draft' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), 'user_can_create_post' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), 'user_can_delete_post' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), 'user_can_delete_post_comments' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), 'user_can_edit_post' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), 'user_can_edit_post_comments' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), 'user_can_edit_post_date' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), 'user_can_edit_user' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), 'user_can_set_post_date' => array( 'alt' => 'current_user_can()', 'version' => '2.0.0', ), // WP 2.1.0. 'dropdown_cats' => array( 'alt' => 'wp_dropdown_categories()', 'version' => '2.1.0', ), 'get_archives' => array( 'alt' => 'wp_get_archives()', 'version' => '2.1.0', ), 'get_author_link' => array( 'alt' => 'get_author_posts_url()', 'version' => '2.1.0', ), 'get_autotoggle' => array( 'alt' => '', 'version' => '2.1.0', ), 'get_link' => array( 'alt' => 'get_bookmark()', 'version' => '2.1.0', ), 'get_linkcatname' => array( 'alt' => 'get_category()', 'version' => '2.1.0', ), 'get_linkobjects' => array( 'alt' => 'get_bookmarks()', 'version' => '2.1.0', ), 'get_linkobjectsbyname' => array( 'alt' => 'get_bookmarks()', 'version' => '2.1.0', ), 'get_linkrating' => array( 'alt' => 'sanitize_bookmark_field()', 'version' => '2.1.0', ), 'get_links' => array( 'alt' => 'get_bookmarks()', 'version' => '2.1.0', ), 'get_links_list' => array( 'alt' => 'wp_list_bookmarks()', 'version' => '2.1.0', ), 'get_links_withrating' => array( 'alt' => 'get_bookmarks()', 'version' => '2.1.0', ), 'get_linksbyname' => array( 'alt' => 'get_bookmarks()', 'version' => '2.1.0', ), 'get_linksbyname_withrating' => array( 'alt' => 'get_bookmarks()', 'version' => '2.1.0', ), 'get_settings' => array( 'alt' => 'get_option()', 'version' => '2.1.0', ), 'link_pages' => array( 'alt' => 'wp_link_pages()', 'version' => '2.1.0', ), 'links_popup_script' => array( 'alt' => '', 'version' => '2.1.0', ), 'list_authors' => array( 'alt' => 'wp_list_authors()', 'version' => '2.1.0', ), 'list_cats' => array( 'alt' => 'wp_list_categories()', 'version' => '2.1.0', ), 'tinymce_include' => array( 'alt' => 'wp_editor()', 'version' => '2.1.0', ), 'wp_get_links' => array( 'alt' => 'wp_list_bookmarks()', 'version' => '2.1.0', ), 'wp_get_linksbyname' => array( 'alt' => 'wp_list_bookmarks()', 'version' => '2.1.0', ), 'wp_get_post_cats' => array( 'alt' => 'wp_get_post_categories()', 'version' => '2.1.0', ), 'wp_list_cats' => array( 'alt' => 'wp_list_categories()', 'version' => '2.1.0', ), 'wp_set_post_cats' => array( 'alt' => 'wp_set_post_categories()', 'version' => '2.1.0', ), // WP 2.2.0. 'comments_rss' => array( 'alt' => 'get_post_comments_feed_link()', 'version' => '2.2.0', ), // WP 2.3.0. 'permalink_single_rss' => array( 'alt' => 'the_permalink_rss()', 'version' => '2.3.0', ), // WP 2.5.0. 'comments_rss_link' => array( 'alt' => 'post_comments_feed_link()', 'version' => '2.5.0', ), 'documentation_link' => array( 'alt' => '', 'version' => '2.5.0', ), 'get_attachment_icon' => array( 'alt' => 'wp_get_attachment_image()', 'version' => '2.5.0', ), 'get_attachment_icon_src' => array( 'alt' => 'wp_get_attachment_image_src()', 'version' => '2.5.0', ), 'get_attachment_innerHTML' => array( 'alt' => 'wp_get_attachment_image()', 'version' => '2.5.0', ), 'get_author_rss_link' => array( 'alt' => 'get_author_feed_link()', 'version' => '2.5.0', ), 'get_category_rss_link' => array( 'alt' => 'get_category_feed_link()', 'version' => '2.5.0', ), 'get_the_attachment_link' => array( 'alt' => 'wp_get_attachment_link()', 'version' => '2.5.0', ), 'gzip_compression' => array( 'alt' => '', 'version' => '2.5.0', ), 'wp_clearcookie' => array( 'alt' => 'wp_clear_auth_cookie()', 'version' => '2.5.0', ), 'wp_get_cookie_login' => array( 'alt' => '', 'version' => '2.5.0', ), 'wp_login' => array( 'alt' => 'wp_signon()', 'version' => '2.5.0', ), 'wp_setcookie' => array( 'alt' => 'wp_set_auth_cookie()', 'version' => '2.5.0', ), // WP 2.6.0. 'dropdown_categories' => array( 'alt' => 'wp_category_checklist()', 'version' => '2.6.0', ), 'dropdown_link_categories' => array( 'alt' => 'wp_link_category_checklist()', 'version' => '2.6.0', ), // WP 2.7.0. 'get_commentdata' => array( 'alt' => 'get_comment()', 'version' => '2.7.0', ), // This is a method i.e. WP_Filesystem_Base::find_base_dir() See #731. 'find_base_dir' => array( 'alt' => 'WP_Filesystem::abspath()', 'version' => '2.7.0', ), // This is a method i.e. WP_Filesystem_Base::get_base_dir() See #731. 'get_base_dir' => array( 'alt' => 'WP_Filesystem::abspath()', 'version' => '2.7.0', ), // WP 2.8.0. '__ngettext' => array( 'alt' => '_n()', 'version' => '2.8.0', ), '__ngettext_noop' => array( 'alt' => '_n_noop()', 'version' => '2.8.0', ), 'attribute_escape' => array( 'alt' => 'esc_attr()', 'version' => '2.8.0', ), 'get_author_name' => array( 'alt' => 'get_the_author_meta(\'display_name\')', 'version' => '2.8.0', ), 'get_category_children' => array( 'alt' => 'get_term_children()', 'version' => '2.8.0', ), 'get_catname' => array( 'alt' => 'get_cat_name()', 'version' => '2.8.0', ), 'get_the_author_aim' => array( 'alt' => 'get_the_author_meta(\'aim\')', 'version' => '2.8.0', ), 'get_the_author_description' => array( 'alt' => 'get_the_author_meta(\'description\')', 'version' => '2.8.0', ), 'get_the_author_email' => array( 'alt' => 'get_the_author_meta(\'email\')', 'version' => '2.8.0', ), 'get_the_author_firstname' => array( 'alt' => 'get_the_author_meta(\'first_name\')', 'version' => '2.8.0', ), 'get_the_author_icq' => array( 'alt' => 'get_the_author_meta(\'icq\')', 'version' => '2.8.0', ), 'get_the_author_ID' => array( 'alt' => 'get_the_author_meta(\'ID\')', 'version' => '2.8.0', ), 'get_the_author_lastname' => array( 'alt' => 'get_the_author_meta(\'last_name\')', 'version' => '2.8.0', ), 'get_the_author_login' => array( 'alt' => 'get_the_author_meta(\'login\')', 'version' => '2.8.0', ), 'get_the_author_msn' => array( 'alt' => 'get_the_author_meta(\'msn\')', 'version' => '2.8.0', ), 'get_the_author_nickname' => array( 'alt' => 'get_the_author_meta(\'nickname\')', 'version' => '2.8.0', ), 'get_the_author_url' => array( 'alt' => 'get_the_author_meta(\'url\')', 'version' => '2.8.0', ), 'get_the_author_yim' => array( 'alt' => 'get_the_author_meta(\'yim\')', 'version' => '2.8.0', ), 'js_escape' => array( 'alt' => 'esc_js()', 'version' => '2.8.0', ), 'register_sidebar_widget' => array( 'alt' => 'wp_register_sidebar_widget()', 'version' => '2.8.0', ), 'register_widget_control' => array( 'alt' => 'wp_register_widget_control()', 'version' => '2.8.0', ), 'the_author_aim' => array( 'alt' => 'the_author_meta(\'aim\')', 'version' => '2.8.0', ), 'the_author_description' => array( 'alt' => 'the_author_meta(\'description\')', 'version' => '2.8.0', ), 'the_author_email' => array( 'alt' => 'the_author_meta(\'email\')', 'version' => '2.8.0', ), 'the_author_firstname' => array( 'alt' => 'the_author_meta(\'first_name\')', 'version' => '2.8.0', ), 'the_author_icq' => array( 'alt' => 'the_author_meta(\'icq\')', 'version' => '2.8.0', ), 'the_author_ID' => array( 'alt' => 'the_author_meta(\'ID\')', 'version' => '2.8.0', ), 'the_author_lastname' => array( 'alt' => 'the_author_meta(\'last_name\')', 'version' => '2.8.0', ), 'the_author_login' => array( 'alt' => 'the_author_meta(\'login\')', 'version' => '2.8.0', ), 'the_author_msn' => array( 'alt' => 'the_author_meta(\'msn\')', 'version' => '2.8.0', ), 'the_author_nickname' => array( 'alt' => 'the_author_meta(\'nickname\')', 'version' => '2.8.0', ), 'the_author_url' => array( 'alt' => 'the_author_meta(\'url\')', 'version' => '2.8.0', ), 'the_author_yim' => array( 'alt' => 'the_author_meta(\'yim\')', 'version' => '2.8.0', ), 'unregister_sidebar_widget' => array( 'alt' => 'wp_unregister_sidebar_widget()', 'version' => '2.8.0', ), 'unregister_widget_control' => array( 'alt' => 'wp_unregister_widget_control()', 'version' => '2.8.0', ), 'wp_specialchars' => array( 'alt' => 'esc_html()', 'version' => '2.8.0', ), // WP 2.9.0. '_c' => array( 'alt' => '_x()', 'version' => '2.9.0', ), '_nc' => array( 'alt' => '_nx()', 'version' => '2.9.0', ), 'get_real_file_to_edit' => array( 'alt' => '', 'version' => '2.9.0', ), 'make_url_footnote' => array( 'alt' => '', 'version' => '2.9.0', ), 'the_content_rss' => array( 'alt' => 'the_content_feed()', 'version' => '2.9.0', ), 'translate_with_context' => array( 'alt' => '_x()', 'version' => '2.9.0', ), // WP 3.0.0. 'activate_sitewide_plugin' => array( 'alt' => 'activate_plugin()', 'version' => '3.0.0', ), 'add_option_update_handler' => array( 'alt' => 'register_setting()', 'version' => '3.0.0', ), 'automatic_feed_links' => array( 'alt' => 'add_theme_support( \'automatic-feed-links\' )', 'version' => '3.0.0', ), 'clean_url' => array( 'alt' => 'esc_url()', 'version' => '3.0.0', ), 'clear_global_post_cache' => array( 'alt' => 'clean_post_cache()', 'version' => '3.0.0', ), 'codepress_footer_js' => array( 'alt' => '', 'version' => '3.0.0', ), 'codepress_get_lang' => array( 'alt' => '', 'version' => '3.0.0', ), 'deactivate_sitewide_plugin' => array( 'alt' => 'deactivate_plugin()', 'version' => '3.0.0', ), 'delete_usermeta' => array( 'alt' => 'delete_user_meta()', 'version' => '3.0.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'funky_javascript_callback' => array( 'alt' => '', 'version' => '3.0.0', ), 'funky_javascript_fix' => array( 'alt' => '', 'version' => '3.0.0', ), 'generate_random_password' => array( 'alt' => 'wp_generate_password()', 'version' => '3.0.0', ), 'get_alloptions' => array( 'alt' => 'wp_load_alloptions()', 'version' => '3.0.0', ), 'get_blog_list' => array( 'alt' => 'wp_get_sites()', 'version' => '3.0.0', ), 'get_most_active_blogs' => array( 'alt' => '', 'version' => '3.0.0', ), 'get_profile' => array( 'alt' => 'get_the_author_meta()', 'version' => '3.0.0', ), 'get_user_details' => array( 'alt' => 'get_user_by()', 'version' => '3.0.0', ), 'get_usermeta' => array( 'alt' => 'get_user_meta()', 'version' => '3.0.0', ), 'get_usernumposts' => array( 'alt' => 'count_user_posts()', 'version' => '3.0.0', ), 'graceful_fail' => array( 'alt' => 'wp_die()', 'version' => '3.0.0', ), // Verified version & alternative. 'install_blog_defaults' => array( 'alt' => 'wp_install_defaults', 'version' => '3.0.0', ), 'is_main_blog' => array( 'alt' => 'is_main_site()', 'version' => '3.0.0', ), 'is_site_admin' => array( 'alt' => 'is_super_admin()', 'version' => '3.0.0', ), 'is_taxonomy' => array( 'alt' => 'taxonomy_exists()', 'version' => '3.0.0', ), 'is_term' => array( 'alt' => 'term_exists()', 'version' => '3.0.0', ), 'is_wpmu_sitewide_plugin' => array( 'alt' => 'is_network_only_plugin()', 'version' => '3.0.0', ), 'mu_options' => array( 'alt' => '', 'version' => '3.0.0', ), 'remove_option_update_handler' => array( 'alt' => 'unregister_setting()', 'version' => '3.0.0', ), 'set_current_user' => array( 'alt' => 'wp_set_current_user()', 'version' => '3.0.0', ), 'update_usermeta' => array( 'alt' => 'update_user_meta()', 'version' => '3.0.0', ), 'use_codepress' => array( 'alt' => '', 'version' => '3.0.0', ), 'validate_email' => array( 'alt' => 'is_email()', 'version' => '3.0.0', ), 'wp_dropdown_cats' => array( 'alt' => 'wp_dropdown_categories()', 'version' => '3.0.0', ), 'wp_shrink_dimensions' => array( 'alt' => 'wp_constrain_dimensions()', 'version' => '3.0.0', ), 'wpmu_checkAvailableSpace' => array( 'alt' => 'is_upload_space_available()', 'version' => '3.0.0', ), 'wpmu_menu' => array( 'alt' => '', 'version' => '3.0.0', ), // WP 3.1.0. 'get_author_user_ids' => array( 'alt' => 'get_users()', 'version' => '3.1.0', ), 'get_dashboard_blog' => array( 'alt' => 'get_site()', 'version' => '3.1.0', ), 'get_editable_authors' => array( 'alt' => 'get_users()', 'version' => '3.1.0', ), 'get_editable_user_ids' => array( 'alt' => 'get_users()', 'version' => '3.1.0', ), 'get_nonauthor_user_ids' => array( 'alt' => 'get_users()', 'version' => '3.1.0', ), 'get_others_drafts' => array( 'alt' => '', 'version' => '3.1.0', ), 'get_others_pending' => array( 'alt' => '', 'version' => '3.1.0', ), 'get_others_unpublished_posts' => array( 'alt' => '', 'version' => '3.1.0', ), 'get_users_of_blog' => array( 'alt' => 'get_users()', 'version' => '3.1.0', ), 'install_themes_feature_list' => array( 'alt' => 'get_theme_feature_list()', 'version' => '3.1.0', ), 'is_plugin_page' => array( // Verified correct alternative. 'alt' => 'global $plugin_page and/or get_plugin_page_hookname() hooks', 'version' => '3.1.0', ), 'update_category_cache' => array( 'alt' => '', 'version' => '3.1.0', ), // WP 3.2.0. 'favorite_actions' => array( 'alt' => 'WP_Admin_Bar', 'version' => '3.2.0', ), 'wp_dashboard_quick_press_output' => array( 'alt' => 'wp_dashboard_quick_press()', 'version' => '3.2.0', ), 'wp_timezone_supported' => array( 'alt' => '', 'version' => '3.2.0', ), // WP 3.3.0. 'add_contextual_help' => array( 'alt' => 'get_current_screen()->add_help_tab()', 'version' => '3.3.0', ), 'get_boundary_post_rel_link' => array( 'alt' => '', 'version' => '3.3.0', ), 'get_index_rel_link' => array( 'alt' => '', 'version' => '3.3.0', ), 'get_parent_post_rel_link' => array( 'alt' => '', 'version' => '3.3.0', ), 'get_user_by_email' => array( 'alt' => 'get_user_by(\'email\')', 'version' => '3.3.0', ), 'get_user_metavalues' => array( 'alt' => '', 'version' => '3.3.0', ), 'get_userdatabylogin' => array( 'alt' => 'get_user_by(\'login\')', 'version' => '3.3.0', ), 'index_rel_link' => array( 'alt' => '', 'version' => '3.3.0', ), 'is_blog_user' => array( 'alt' => 'is_user_member_of_blog()', 'version' => '3.3.0', ), 'media_upload_audio' => array( 'alt' => 'wp_media_upload_handler()', 'version' => '3.3.0', ), 'media_upload_file' => array( 'alt' => 'wp_media_upload_handler()', 'version' => '3.3.0', ), 'media_upload_image' => array( 'alt' => 'wp_media_upload_handler()', 'version' => '3.3.0', ), 'media_upload_video' => array( 'alt' => 'wp_media_upload_handler()', 'version' => '3.3.0', ), 'parent_post_rel_link' => array( 'alt' => '', 'version' => '3.3.0', ), 'sanitize_user_object' => array( 'alt' => '', 'version' => '3.3.0', ), 'screen_layout' => array( 'alt' => '$current_screen->render_screen_layout()', 'version' => '3.3.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'screen_meta' => array( 'alt' => '$current_screen->render_screen_meta()', 'version' => '3.3.0', ), 'screen_options' => array( 'alt' => '$current_screen->render_per_page_options()', 'version' => '3.3.0', ), 'start_post_rel_link' => array( 'alt' => '', 'version' => '3.3.0', ), 'the_editor' => array( 'alt' => 'wp_editor()', 'version' => '3.3.0', ), 'type_url_form_audio' => array( 'alt' => 'wp_media_insert_url_form(\'audio\')', 'version' => '3.3.0', ), 'type_url_form_file' => array( 'alt' => 'wp_media_insert_url_form(\'file\')', 'version' => '3.3.0', ), 'type_url_form_image' => array( 'alt' => 'wp_media_insert_url_form(\'image\')', 'version' => '3.3.0', ), 'type_url_form_video' => array( 'alt' => 'wp_media_insert_url_form(\'video\')', 'version' => '3.3.0', ), 'wp_admin_bar_dashboard_view_site_menu' => array( 'alt' => '', 'version' => '3.3.0', ), 'wp_preload_dialogs' => array( 'alt' => 'wp_editor()', 'version' => '3.3.0', ), 'wp_print_editor_js' => array( 'alt' => 'wp_editor()', 'version' => '3.3.0', ), 'wp_quicktags' => array( 'alt' => 'wp_editor()', 'version' => '3.3.0', ), 'wp_tiny_mce' => array( 'alt' => 'wp_editor()', 'version' => '3.3.0', ), 'wpmu_admin_do_redirect' => array( 'alt' => 'wp_redirect()', 'version' => '3.3.0', ), 'wpmu_admin_redirect_add_updated_param' => array( 'alt' => 'add_query_arg()', 'version' => '3.3.0', ), // WP 3.4.0. 'add_custom_background' => array( 'alt' => 'add_theme_support( \'custom-background\', $args )', 'version' => '3.4.0', ), 'add_custom_image_header' => array( 'alt' => 'add_theme_support( \'custom-header\', $args )', 'version' => '3.4.0', ), 'clean_page_cache' => array( 'alt' => 'clean_post_cache()', 'version' => '3.4.0', ), 'clean_pre' => array( 'alt' => '', 'version' => '3.4.0', ), 'current_theme_info' => array( 'alt' => 'wp_get_theme()', 'version' => '3.4.0', ), 'debug_fclose' => array( 'alt' => 'error_log()', 'version' => '3.4.0', ), 'debug_fopen' => array( 'alt' => 'error_log()', 'version' => '3.4.0', ), 'debug_fwrite' => array( 'alt' => 'error_log()', 'version' => '3.4.0', ), 'display_theme' => array( 'alt' => '', 'version' => '3.4.0', ), 'get_allowed_themes' => array( 'alt' => 'wp_get_themes( array( \'allowed\' => true ) )', 'version' => '3.4.0', ), 'get_broken_themes' => array( 'alt' => 'wp_get_themes( array( \'errors\' => true )', 'version' => '3.4.0', ), 'get_current_theme' => array( 'alt' => 'wp_get_theme()', 'version' => '3.4.0', ), 'get_site_allowed_themes' => array( 'alt' => 'WP_Theme::get_allowed_on_network()', 'version' => '3.4.0', ), 'get_theme' => array( 'alt' => 'wp_get_theme( $stylesheet )', 'version' => '3.4.0', ), 'get_theme_data' => array( 'alt' => 'wp_get_theme()', 'version' => '3.4.0', ), 'get_themes' => array( 'alt' => 'wp_get_themes()', 'version' => '3.4.0', ), 'logIO' => array( 'alt' => 'error_log()', 'version' => '3.4.0', ), 'remove_custom_background' => array( 'alt' => 'remove_theme_support( \'custom-background\' )', 'version' => '3.4.0', ), 'remove_custom_image_header' => array( 'alt' => 'remove_theme_support( \'custom-header\' )', 'version' => '3.4.0', ), 'update_page_cache' => array( 'alt' => 'update_post_cache()', 'version' => '3.4.0', ), 'wpmu_get_blog_allowedthemes' => array( 'alt' => 'WP_Theme::get_allowed_on_site()', 'version' => '3.4.0', ), // WP 3.4.1. 'wp_explain_nonce' => array( 'alt' => 'wp_nonce_ays()', 'version' => '3.4.1', ), // WP 3.5.0. '_flip_image_resource' => array( 'alt' => 'WP_Image_Editor::flip()', 'version' => '3.5.0', ), '_get_post_ancestors' => array( 'alt' => '', 'version' => '3.5.0', ), '_insert_into_post_button' => array( 'alt' => '', 'version' => '3.5.0', ), '_media_button' => array( 'alt' => '', 'version' => '3.5.0', ), '_rotate_image_resource' => array( 'alt' => 'WP_Image_Editor::rotate()', 'version' => '3.5.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. '_save_post_hook' => array( 'alt' => '', 'version' => '3.5.0', ), 'gd_edit_image_support' => array( 'alt' => 'wp_image_editor_supports()', 'version' => '3.5.0', ), 'get_default_page_to_edit' => array( 'alt' => 'get_default_post_to_edit( \'page\' )', 'version' => '3.5.0', ), 'get_post_to_edit' => array( 'alt' => 'get_post()', 'version' => '3.5.0', ), 'get_udims' => array( 'alt' => 'wp_constrain_dimensions()', 'version' => '3.5.0', ), 'image_resize' => array( 'alt' => 'wp_get_image_editor()', 'version' => '3.5.0', ), 'sticky_class' => array( 'alt' => 'post_class()', 'version' => '3.5.0', ), 'user_pass_ok' => array( 'alt' => 'wp_authenticate()', 'version' => '3.5.0', ), 'wp_cache_reset' => array( 'alt' => 'wp_cache_switch_to_blog()', 'version' => '3.5.0', ), 'wp_create_thumbnail' => array( 'alt' => 'image_resize()', 'version' => '3.5.0', ), 'wp_get_single_post' => array( 'alt' => 'get_post()', 'version' => '3.5.0', ), 'wp_load_image' => array( 'alt' => 'wp_get_image_editor()', 'version' => '3.5.0', ), // WP 3.6.0. 'get_user_id_from_string' => array( 'alt' => 'get_user_by()', 'version' => '3.6.0', ), 'wp_convert_bytes_to_hr' => array( 'alt' => 'size_format()', 'version' => '3.6.0', ), 'wp_nav_menu_locations_meta_box' => array( 'alt' => '', 'version' => '3.6.0', ), // WP 3.7.0. '_search_terms_tidy' => array( 'alt' => '', 'version' => '3.7.0', ), 'get_blogaddress_by_domain' => array( 'alt' => '', 'version' => '3.7.0', ), 'the_attachment_links' => array( 'alt' => '', 'version' => '3.7.0', ), 'wp_update_core' => array( 'alt' => 'new Core_Upgrader();', 'version' => '3.7.0', ), 'wp_update_plugin' => array( 'alt' => 'new Plugin_Upgrader();', 'version' => '3.7.0', ), 'wp_update_theme' => array( 'alt' => 'new Theme_Upgrader();', 'version' => '3.7.0', ), // WP 3.8.0. 'get_screen_icon' => array( 'alt' => '', 'version' => '3.8.0', ), 'screen_icon' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_incoming_links' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_incoming_links_control' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_incoming_links_output' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_plugins' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_primary_control' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_recent_comments_control' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_secondary' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_secondary_control' => array( 'alt' => '', 'version' => '3.8.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_dashboard_secondary_output' => array( 'alt' => '', 'version' => '3.8.0', ), // WP 3.9.0. '_relocate_children' => array( 'alt' => '', 'version' => '3.9.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'default_topic_count_text' => array( 'alt' => '', 'version' => '3.9.0', ), 'format_to_post' => array( 'alt' => '', 'version' => '3.9.0', ), 'get_current_site_name' => array( 'alt' => 'get_current_site()', 'version' => '3.9.0', ), 'rich_edit_exists' => array( 'alt' => '', 'version' => '3.9.0', ), 'wpmu_current_site' => array( 'alt' => '', 'version' => '3.9.0', ), // WP 4.0.0. 'get_all_category_ids' => array( 'alt' => 'get_terms()', 'version' => '4.0.0', ), 'like_escape' => array( 'alt' => 'wpdb::esc_like()', 'version' => '4.0.0', ), 'url_is_accessable_via_ssl' => array( 'alt' => '', 'version' => '4.0.0', ), // WP 4.1.0. // This is a method from the WP_Customize_Image_Control class. See #731. 'add_tab' => array( 'alt' => '', 'version' => '4.1.0', ), // This is a method from the WP_Customize_Image_Control class. See #731. 'prepare_control' => array( 'alt' => '', 'version' => '4.1.0', ), // This is a method from the WP_Customize_Image_Control class. See #731. 'print_tab_image' => array( 'alt' => '', 'version' => '4.1.0', ), // This is a method from the WP_Customize_Image_Control class. See #731. 'remove_tab' => array( 'alt' => '', 'version' => '4.1.0', ), // WP 4.2.0. // This is a method from the WP_Customize_Widgets class. See #731. 'prepreview_added_sidebars_widgets' => array( 'alt' => 'the \'customize_dynamic_setting_args\' filter', 'version' => '4.2.0', ), // This is a method from the WP_Customize_Widgets class. See #731. 'prepreview_added_widget_instance' => array( 'alt' => 'the \'customize_dynamic_setting_args\' filter', 'version' => '4.2.0', ), // This is a method from the WP_Customize_Widgets class. See #731. 'remove_prepreview_filters' => array( 'alt' => 'the \'customize_dynamic_setting_args\' filter', 'version' => '4.2.0', ), // This is a method from the WP_Customize_Widgets class. See #731. 'setup_widget_addition_previews' => array( 'alt' => 'the \'customize_dynamic_setting_args\' filter', 'version' => '4.2.0', ), // WP 4.3.0. '_preview_theme_stylesheet_filter' => array( 'alt' => '', 'version' => '4.3.0', ), '_preview_theme_template_filter' => array( 'alt' => '', 'version' => '4.3.0', ), 'preview_theme' => array( 'alt' => '', 'version' => '4.3.0', ), 'preview_theme_ob_filter' => array( 'alt' => '', 'version' => '4.3.0', ), 'preview_theme_ob_filter_callback' => array( 'alt' => '', 'version' => '4.3.0', ), // Verified; see https://core.trac.wordpress.org/ticket/41121, patch 3. 'wp_ajax_wp_fullscreen_save_post' => array( 'alt' => '', 'version' => '4.3.0', ), 'wp_htmledit_pre' => array( 'alt' => 'format_for_editor()', 'version' => '4.3.0', ), 'wp_richedit_pre' => array( 'alt' => 'format_for_editor()', 'version' => '4.3.0', ), // WP 4.4.0. 'create_empty_blog' => array( 'alt' => '', 'version' => '4.4.0', ), 'force_ssl_login' => array( 'alt' => 'force_ssl_admin()', 'version' => '4.4.0', ), 'get_admin_users_for_domain' => array( 'alt' => '', 'version' => '4.4.0', ), 'post_permalink' => array( 'alt' => 'get_permalink()', 'version' => '4.4.0', ), 'wp_get_http' => array( 'alt' => 'the WP_Http class', 'version' => '4.4.0', ), // This is a method i.e. WP_Widget_Recent_Comments::flush_widget_cache() See #731. 'flush_widget_cache' => array( 'alt' => '', 'version' => '4.4.0', ), // WP 4.5.0. 'add_object_page' => array( 'alt' => 'add_menu_page()', 'version' => '4.5.0', ), 'add_utility_page' => array( 'alt' => 'add_menu_page()', 'version' => '4.5.0', ), 'comments_popup_script' => array( 'alt' => '', 'version' => '4.5.0', ), 'get_comments_popup_template' => array( 'alt' => '', 'version' => '4.5.0', ), 'get_currentuserinfo' => array( 'alt' => 'wp_get_current_user()', 'version' => '4.5.0', ), 'is_comments_popup' => array( 'alt' => '', 'version' => '4.5.0', ), 'popuplinks' => array( 'alt' => '', 'version' => '4.5.0', ), // WP 4.6.0. 'post_form_autocomplete_off' => array( 'alt' => '', 'version' => '4.6.0', ), 'wp_embed_handler_googlevideo' => array( 'alt' => '', 'version' => '4.6.0', ), 'wp_get_sites' => array( 'alt' => 'get_sites()', 'version' => '4.6.0', ), // WP 4.7.0. '_sort_nav_menu_items' => array( 'alt' => 'wp_list_sort()', 'version' => '4.7.0', ), '_usort_terms_by_ID' => array( 'alt' => 'wp_list_sort()', 'version' => '4.7.0', ), '_usort_terms_by_name' => array( 'alt' => 'wp_list_sort()', 'version' => '4.7.0', ), 'get_paged_template' => array( 'alt' => '', 'version' => '4.7.0', ), 'wp_get_network' => array( 'alt' => 'get_network()', 'version' => '4.7.0', ), 'wp_kses_js_entities' => array( 'alt' => '', 'version' => '4.7.0', ), // WP 4.8.0. 'wp_dashboard_plugins_output' => array( 'alt' => '', 'version' => '4.8.0', ), // WP 4.9.0. 'get_shortcut_link' => array( 'alt' => '', 'version' => '4.9.0', ), 'is_user_option_local' => array( 'alt' => '', 'version' => '4.9.0', ), 'wp_ajax_press_this_add_category' => array( 'alt' => '', 'version' => '4.9.0', ), 'wp_ajax_press_this_save_post' => array( 'alt' => '', 'version' => '4.9.0', ), // WP 5.1.0. 'insert_blog' => array( 'alt' => 'wp_insert_site()', 'version' => '5.1.0', ), 'install_blog' => array( 'alt' => '', 'version' => '5.1.0', ), // WP 5.3.0. '_wp_json_prepare_data' => array( 'alt' => '', 'version' => '5.3.0', ), '_wp_privacy_requests_screen_options' => array( 'alt' => '', 'version' => '5.3.0', ), 'update_user_status' => array( 'alt' => 'wp_update_user()', 'version' => '5.3.0', ), // WP 5.4.0. 'wp_get_user_request_data' => array( 'alt' => 'wp_get_user_request()', 'version' => '5.4.0', ), // WP 5.5.0. '_wp_register_meta_args_whitelist' => array( 'alt' => '_wp_register_meta_args_allowed_list()', 'version' => '5.5.0', ), 'add_option_whitelist' => array( 'alt' => 'add_allowed_options()', 'version' => '5.5.0', ), 'remove_option_whitelist' => array( 'alt' => 'remove_allowed_options()', 'version' => '5.5.0', ), 'wp_blacklist_check' => array( 'alt' => 'wp_check_comment_disallowed_list()', 'version' => '5.5.0', ), 'wp_make_content_images_responsive' => array( 'alt' => 'wp_filter_content_tags()', 'version' => '5.5.0', ), 'wp_unregister_GLOBALS' => array( 'alt' => '', 'version' => '5.5.0', ), // WP 5.7.0. 'noindex' => array( 'alt' => 'wp_robots_noindex()', 'version' => '5.7.0', ), 'wp_no_robots' => array( 'alt' => 'wp_robots_no_robots()', 'version' => '5.7.0', ), 'wp_sensitive_page_meta' => array( 'alt' => 'wp_robots_sensitive_page()', 'version' => '5.7.0', ), // WP 5.8.0. '_excerpt_render_inner_columns_blocks' => array( 'alt' => '_excerpt_render_inner_blocks()', 'version' => '5.8.0', ), // WP 5.9.0. 'readonly' => array( 'alt' => 'wp_readonly()', 'version' => '5.9.0', ), // WP 5.9.1. 'wp_render_duotone_filter_preset' => array( 'alt' => 'wp_get_duotone_filter_property()', 'version' => '5.9.1', ), // WP 6.0.0. 'image_attachment_fields_to_save' => array( 'alt' => '', 'version' => '6.0.0', ), 'wp_add_iframed_editor_assets_html' => array( 'alt' => '', 'version' => '6.0.0', ), 'wp_skip_border_serialization' => array( 'alt' => 'wp_should_skip_block_supports_serialization()', 'version' => '6.0.0', ), 'wp_skip_dimensions_serialization' => array( 'alt' => 'wp_should_skip_block_supports_serialization()', 'version' => '6.0.0', ), 'wp_skip_spacing_serialization' => array( 'alt' => 'wp_should_skip_block_supports_serialization()', 'version' => '6.0.0', ), // WP 6.0.2. 'the_meta' => array( 'alt' => 'get_post_meta()', 'version' => '6.0.2', ), // WP 6.0.3. // Verified; see https://core.trac.wordpress.org/ticket/56791#comment:10. '_filter_query_attachment_filenames' => array( 'alt' => 'add_filter( "wp_allow_query_attachment_by_filename", "__return_true" )', 'version' => '6.0.3', ), // WP 6.1.0. '_get_path_to_translation' => array( 'alt' => 'WP_Textdomain_Registry', 'version' => '6.1.0', ), '_get_path_to_translation_from_lang_dir' => array( 'alt' => 'WP_Textdomain_Registry', 'version' => '6.1.0', ), '_wp_multiple_block_styles' => array( 'alt' => '', 'version' => '6.1.0', ), 'global_terms' => array( 'alt' => '', 'version' => '6.1.0', ), 'global_terms_enabled' => array( 'alt' => '', 'version' => '6.1.0', ), 'install_global_terms' => array( 'alt' => '', 'version' => '6.1.0', ), 'sync_category_tag_slugs' => array( 'alt' => '', 'version' => '6.1.0', ), 'wp_get_attachment_thumb_file' => array( 'alt' => '', 'version' => '6.1.0', ), 'wp_typography_get_css_variable_inline_style' => array( 'alt' => 'wp_style_engine_get_styles()', 'version' => '6.1.0', ), // WP 6.2.0. '_resolve_home_block_template' => array( 'alt' => '', 'version' => '6.2.0', ), 'get_page_by_title' => array( 'alt' => 'WP_Query', 'version' => '6.2.0', ), // WP 6.3.0. '_wp_tinycolor_bound_alpha' => array( 'alt' => '', 'version' => '6.3.0', ), 'block_core_navigation_get_classic_menu_fallback' => array( 'alt' => 'WP_Navigation_Fallback::get_classic_menu_fallback', 'version' => '6.3.0', ), 'block_core_navigation_get_classic_menu_fallback_blocks' => array( 'alt' => 'WP_Navigation_Fallback::get_classic_menu_fallback_blocks', 'version' => '6.3.0', ), 'block_core_navigation_get_most_recently_published_navigation' => array( 'alt' => 'WP_Navigation_Fallback::get_most_recently_published_navigation', 'version' => '6.3.0', ), 'block_core_navigation_maybe_use_classic_menu_fallback' => array( 'alt' => 'WP_Navigation_Fallback::create_classic_menu_fallback', 'version' => '6.3.0', ), 'block_core_navigation_parse_blocks_from_menu_items' => array( 'alt' => 'WP_Navigation_Fallback::parse_blocks_from_menu_items', 'version' => '6.3.0', ), 'block_core_navigation_submenu_build_css_colors' => array( 'alt' => 'wp_apply_colors_support()', 'version' => '6.3.0', ), 'wlwmanifest_link' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_get_duotone_filter_id' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_get_duotone_filter_property' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_get_duotone_filter_svg' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_get_global_styles_svg_filters' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_get_loading_attr_default' => array( 'alt' => 'wp_get_loading_optimization_attributes()', 'version' => '6.3.0', ), 'wp_global_styles_render_svg_filters' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_img_tag_add_loading_attr' => array( 'alt' => 'wp_img_tag_add_loading_optimization_attrs()', 'version' => '6.3.0', ), 'wp_queue_comments_for_comment_meta_lazyload' => array( 'alt' => 'wp_lazyload_comment_meta()', 'version' => '6.3.0', ), 'wp_register_duotone_support' => array( 'alt' => 'WP_Duotone::register_duotone_support()', 'version' => '6.3.0', ), 'wp_render_duotone_support' => array( 'alt' => 'WP_Duotone::render_duotone_support()', 'version' => '6.3.0', ), 'wp_tinycolor_bound01' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_tinycolor_hsl_to_rgb' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_tinycolor_hue_to_rgb' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_tinycolor_rgb_to_rgb' => array( 'alt' => '', 'version' => '6.3.0', ), 'wp_tinycolor_string_to_rgb' => array( 'alt' => '', 'version' => '6.3.0', ), ); /** * Groups of functions to restrict. * * @return array */ public function getGroups() { // Make sure all array keys are lowercase. $this->deprecated_functions = array_change_key_case( $this->deprecated_functions, \CASE_LOWER ); return array( 'deprecated_functions' => array( 'functions' => array_keys( $this->deprecated_functions ), ), ); } /** * Process a matched token. * * @param int $stackPtr The position of the current token in the stack. * @param string $group_name The name of the group which was matched. Will * always be 'deprecated_functions'. * @param string $matched_content The token content (function name) which was matched * in lowercase. * * @return void */ public function process_matched_token( $stackPtr, $group_name, $matched_content ) { $this->set_minimum_wp_version(); $message = '%s() has been deprecated since WordPress version %s.'; $data = array( $this->tokens[ $stackPtr ]['content'], $this->deprecated_functions[ $matched_content ]['version'], ); if ( ! empty( $this->deprecated_functions[ $matched_content ]['alt'] ) ) { $message .= ' Use %s instead.'; $data[] = $this->deprecated_functions[ $matched_content ]['alt']; } MessageHelper::addMessage( $this->phpcsFile, $message, $stackPtr, ( $this->wp_version_compare( $this->deprecated_functions[ $matched_content ]['version'], $this->minimum_wp_version, '<' ) ), MessageHelper::stringToErrorcode( $matched_content . 'Found' ), $data ); } }