Automattic\WooCommerce\Vendor\Pelago\Emogrifier\Css
CssDocument::getFilteredAtIdentifierAndRule
Метод класса: CssDocument{}
Хуков нет.
Возвращает
?Строку . If the nested at-rule is supported, it's opening declaration (e.g. "@media (max-width: 768px)") is returned; otherwise the return value is null.
Использование
// private - только в коде основоного (родительского) класса $result = $this->getFilteredAtIdentifierAndRule( $rule, $allowedMediaTypes ): ?string;
- $rule(CssAtRuleBlockList) (обязательный)
- .
- $allowedMediaTypes(массив) (обязательный)
- .
Код CssDocument::getFilteredAtIdentifierAndRule() CssDocument::getFilteredAtIdentifierAndRule WC 10.4.3
private function getFilteredAtIdentifierAndRule(CssAtRuleBlockList $rule, array $allowedMediaTypes): ?string
{
$result = null;
if ($rule->atRuleName() === 'media') {
$mediaQueryList = $rule->atRuleArgs();
[$mediaType] = \explode('(', $mediaQueryList, 2);
if (\trim($mediaType) !== '') {
$escapedAllowedMediaTypes = \array_map(
static function (string $allowedMediaType): string {
return \preg_quote($allowedMediaType, '/');
},
$allowedMediaTypes
);
$mediaTypesMatcher = \implode('|', $escapedAllowedMediaTypes);
$isAllowed
= (new Preg())->match('/^\\s*+(?:only\\s++)?+(?:' . $mediaTypesMatcher . ')/i', $mediaType) !== 0;
} else {
$isAllowed = true;
}
if ($isAllowed) {
$result = '@media ' . $mediaQueryList;
}
}
return $result;
}