Yoast\WP\SEO\User_Meta\Infrastructure
Cleanup_Repository::delete_empty_usermeta_query()
Deletes empty usermeta based on their meta_keys and returns the number of the deleted meta.
Метод класса: Cleanup_Repository{}
Хуков нет.
Возвращает
int|false
. The number of rows that was deleted or false if the query failed.
Использование
$Cleanup_Repository = new Cleanup_Repository(); $Cleanup_Repository->delete_empty_usermeta_query( $meta_keys, $limit );
- $meta_keys(array
) (обязательный) - The meta to be potentially deleted.
- $limit(int) (обязательный)
- The number of maximum deletions.
Код Cleanup_Repository::delete_empty_usermeta_query() Cleanup Repository::delete empty usermeta query Yoast 25.1
public function delete_empty_usermeta_query( $meta_keys, $limit ) { global $wpdb; // phpcs:disable WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber -- Reason: we're passing an array instead. $delete_query = $wpdb->prepare( 'DELETE FROM %i WHERE meta_key IN ( ' . \implode( ', ', \array_fill( 0, \count( $meta_keys ), '%s' ) ) . ' ) AND meta_value = "" ORDER BY user_id LIMIT %d', \array_merge( [ $wpdb->usermeta ], $meta_keys, [ $limit ] ) ); // phpcs:enable // phpcs:disable WordPress.DB.DirectDatabaseQuery.NoCaching -- Reason: No relevant caches. // phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery -- Reason: Most performant way. // phpcs:disable WordPress.DB.PreparedSQL.NotPrepared -- Reason: Is it prepared already. return $wpdb->query( $delete_query ); // phpcs:enable }