Я использую плагин в моем проекте WordPress, поскольку они используют фильтр style_loader_tag
для форматирования тегов таблицы стилей, с помощью этого фильтра они удалили идентификатор таблицы стилей, например:
<link rel="stylesheet" href="http://hoaa.local/wp-includes/css/dashicons.min.css">
без использования этого фильтра должно быть:
<link rel='stylesheet' id='admin-bar-css' href='http://hoaa.local/wp-includes/css/admin-bar.min.css' media='all' />
Они использовали что-то вроде этого.
add_filter( 'style_loader_tag', function($input) {
preg_match_all( "!<link rel='stylesheet'\s?(id='[^']+')?\s+href='(.*)' type='text/css' media='(.*)' />!", $input, $matches );
if ( empty( $matches[2] ) ) {
return $input;
}
$media = $matches[3][0] !== '' && $matches[3][0] !== 'all' ? ' media="' . $matches[3][0] . '"' : '';
return '<link rel="stylesheet" href="' . $matches[2][0] . '"' . $media . '>' . "\n";
} );
Есть ли способ, которым я могу отменить эту очистку. Когда я использую что-то вроде ниже в моей дочерней теме:
add_filter( 'style_loader_tag', function($input) {
var_dump($input);
return $input;
}, 9999, 1 );
Я получаю отфильтрованную версию таблиц стилей, то есть я не могу переопределить фильтр, который запускается плагином.