WC_Install::delete_obsolete_notes()
Delete obsolete notes.
Method of the class: WC_Install{}
Hooks from the method
Return
null
. Nothing (null).
Usage
$result = WC_Install::delete_obsolete_notes();
WC_Install::delete_obsolete_notes() WC Install::delete obsolete notes code WC 9.3.3
public static function delete_obsolete_notes() { global $wpdb; $obsolete_notes_names = array( 'wc-admin-welcome-note', 'wc-admin-insight-first-product-and-payment', 'wc-admin-store-notice-setting-moved', 'wc-admin-store-notice-giving-feedback', 'wc-admin-first-downloadable-product', 'wc-admin-learn-more-about-product-settings', 'wc-admin-adding-and-managing-products', 'wc-admin-onboarding-profiler-reminder', 'wc-admin-historical-data', 'wc-admin-manage-store-activity-from-home-screen', 'wc-admin-review-shipping-settings', 'wc-admin-home-screen-feedback', 'wc-admin-update-store-details', 'wc-admin-effortless-payments-by-mollie', 'wc-admin-google-ads-and-marketing', 'wc-admin-insight-first-sale', 'wc-admin-marketing-intro', 'wc-admin-draw-attention', 'wc-admin-welcome-to-woocommerce-for-store-users', 'wc-admin-need-some-inspiration', 'wc-admin-choose-niche', 'wc-admin-start-dropshipping-business', 'wc-admin-filter-by-product-variations-in-reports', 'wc-admin-learn-more-about-variable-products', 'wc-admin-getting-started-ecommerce-webinar', 'wc-admin-navigation-feedback', 'wc-admin-navigation-feedback-follow-up', 'wc-admin-set-up-additional-payment-types', 'wc-admin-deactivate-plugin', 'wc-admin-complete-store-details', ); /** * An array of deprecated notes to delete on update. * * @since 6.5.0 */ $additional_obsolete_notes_names = apply_filters( 'woocommerce_admin_obsolete_notes_names', array() ); if ( is_array( $additional_obsolete_notes_names ) ) { $obsolete_notes_names = array_merge( $obsolete_notes_names, $additional_obsolete_notes_names ); } $note_names_placeholder = substr( str_repeat( ',%s', count( $obsolete_notes_names ) ), 1 ); $note_ids = $wpdb->get_results( // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare -- Ignored for allowing interpolation in the IN statement. $wpdb->prepare( "SELECT note_id FROM {$wpdb->prefix}wc_admin_notes WHERE name IN ( $note_names_placeholder )", $obsolete_notes_names ), ARRAY_N // phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare. ); if ( ! $note_ids ) { return; } $note_ids = array_column( $note_ids, 0 ); $note_ids_placeholder = substr( str_repeat( ',%d', count( $note_ids ) ), 1 ); $wpdb->query( // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare -- Ignored for allowing interpolation in the IN statement. $wpdb->prepare( "DELETE FROM {$wpdb->prefix}wc_admin_notes WHERE note_id IN ( $note_ids_placeholder )", $note_ids ) // phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare. ); $wpdb->query( // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare -- Ignored for allowing interpolation in the IN statement. $wpdb->prepare( "DELETE FROM {$wpdb->prefix}wc_admin_note_actions WHERE note_id IN ( $note_ids_placeholder )", $note_ids ) // phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare. ); }