Доброе время суток! Подскажите пожалуйста, как добавить span в get_cat_name, в макете есть заголовок:
<h2><span class="red">С КЕМ МЫ</span> РАБОТАЕМ</h2>
Как в названии категории заключить первые слова в span, чтобы потом в стилях выделить их цветом. Спасибо!
Поскольку вы собираетесь работать с многобайтовыми строками (русские символы), то надо использовать mb_ereg_replace()
вместо preg_replace()
<div class="title-h2">
<?php echo mb_ereg_replace('^((?:\w+\s+){3})', '<span class="red">\\1</span>', get_cat_name( 4 ), 'msri' ); ?>
</div>
Этот код выделяет три первые слова (см. {3}
) из результата функции get_cat_name()
и оборачивает их в span.
Я вот нашел такой вариант
<div class="title-h2"><?php echo preg_replace("#^(\w+)(.*)$#ui", "<span>$1</span>$2", get_cat_name(4)); ?></div>
но там выделят только первое слово, а как сделать чтобы выделяло первые три слова не знаю
wp-includes/category.php :
function get_cat_name( $cat_id ) {
$cat_id = (int) $cat_id;
$category = get_term( $cat_id, 'category' );
if ( ! $category || is_wp_error( $category ) ) {
return '';
}
return $category->name;
}
Функция с коробки.. Можно написать свою функцию, можно изменить её с коробки - не знаю на сколько это корректно, честно говоря, с WP имел дело несколько раз, особо не вникал. Вот немного моих мыслей как можно это реализовать:
function get_cat_name( $cat_id ) {
$cat_id = (int) $cat_id;
$category = get_term( $cat_id, 'category' );
if ( ! $category || is_wp_error( $category ) ) {
return '';
}
if ($cat_id == 4) {
return get_custom_name($category->name,'[red]','[/red]');
} else {
return $category->name;
}
}
function get_custom_name($string, $start, $end){
$string = ' ' . $string;
$ini = strpos($string, $start);
if ($ini == 0) return '';
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
P.S. решение далеко не лучшее, надо:
В общем-то, костыль ещё тот, но может сами сделаете как положено. удачи
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Поднял сервер docker+php-fpm+nginxНо у меня такая проблема, я не как не могу получить файлы(css, js, fonts) в папке public если вложенность папок превышает двух
При переходе между страницами на URL показывает GET параметры
Есть сприпты, что по крону бегают на почту и загружают файлы, если те попадают под условия