Yoast\WP\SEO\Repositories
Indexable_Cleanup_Repository::get_reassigned_authors()
Fetches pairs of old_id -> new_id indexed by old_id. By using the old_id (i.e. the id of the user that has been deleted) as key of the associative array, we can easily compose an array of unique pairs of old_id -> new_id.
Метод класса: Indexable_Cleanup_Repository{}
Хуков нет.
Возвращает
int|true|false
. The associative array with shape [ old_id => [ old_id, new_author ] ] or false if query to get data fails.
Использование
// private - только в коде основоного (родительского) класса $result = $this->get_reassigned_authors( $limit );
- $limit(int) (обязательный)
- The limit we'll apply to the queries.
Код Indexable_Cleanup_Repository::get_reassigned_authors() Indexable Cleanup Repository::get reassigned authors Yoast 24.0
private function get_reassigned_authors( $limit ) { global $wpdb; $indexable_table = Model::get_table_name( 'Indexable' ); $posts_table = $wpdb->posts; // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Reason: There is no unescaped user input. $query = $wpdb->prepare( " SELECT {$indexable_table}.author_id, {$posts_table}.post_author FROM {$indexable_table} JOIN {$posts_table} on {$indexable_table}.object_id = {$posts_table}.id WHERE object_type='post' AND {$indexable_table}.author_id <> {$posts_table}.post_author ORDER BY {$indexable_table}.author_id LIMIT %d", $limit ); // phpcs:enable // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- Reason: Already prepared. return $wpdb->get_results( $query, \OBJECT_K ); }