WPSEO_Upgrade::clean_up_private_taxonomies_for_141
Cleans up the private taxonomies from the indexables table for the upgrade routine to 14.1.
Метод класса: WPSEO_Upgrade{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
$WPSEO_Upgrade = new WPSEO_Upgrade(); $WPSEO_Upgrade->clean_up_private_taxonomies_for_141();
Код WPSEO_Upgrade::clean_up_private_taxonomies_for_141() WPSEO Upgrade::clean up private taxonomies for 141 Yoast 27.3
public function clean_up_private_taxonomies_for_141() {
global $wpdb;
// If migrations haven't been completed successfully the following may give false errors. So suppress them.
$show_errors = $wpdb->show_errors;
$wpdb->show_errors = false;
// Clean up indexables of private taxonomies.
$private_taxonomies = get_taxonomies( [ 'public' => false ], 'names' );
if ( empty( $private_taxonomies ) ) {
return;
}
$replacements = array_merge(
[
Model::get_table_name( 'Indexable' ),
'object_type',
'object_sub_type',
],
$private_taxonomies,
);
// phpcs:disable WordPress.DB.DirectDatabaseQuery.NoCaching -- Reason: No relevant caches.
// phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery -- Reason: Most performant way.
$wpdb->query(
$wpdb->prepare(
"DELETE FROM %i
WHERE %i = 'term'
AND %i IN ("
. implode( ', ', array_fill( 0, count( $private_taxonomies ), '%s' ) )
. ')',
$replacements,
),
);
$wpdb->show_errors = $show_errors;
}