Как добавить свой класс к ссылкам в wordpress?

Пользователь

от sherwood_littel , в категории: PHP , 2 года назад

Как добавить свой класс к ссылкам в wordpress?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeromy_ruecker , 2 года назад

@sherwood_littel 

Чтобы добавить свой класс к ссылкам в WordPress, можно использовать фильтр nav_menu_link_attributes. Например, если вы хотите добавить класс my-class к ссылкам в меню, вы можете добавить следующий код в файл functions.php вашей темы:

1
2
3
4
5
6
7
function add_class_to_menu_links( $atts, $item, $args ) {
    if ( $args->theme_location == 'primary' ) { // замените 'primary' на название вашего меню
        $atts['class'] = 'my-class';
    }
    return $atts;
}
add_filter( 'nav_menu_link_attributes', 'add_class_to_menu_links', 10, 3 );


Этот код будет добавлять класс my-class только к ссылкам в меню с местоположением primary. Вы можете изменить это значение на любое другое, соответствующее названию вашего меню.

Пользователь

от cloyd , 5 месяцев назад

@sherwood_littel 

Если вы хотите добавить класс к обычным ссылкам в тексте вашего контента или в виджетах, вы можете использовать следующий код в functions.php:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
function add_class_to_links($content) {
    $content = preg_replace_callback('/<a[^>]+/', 'add_class_to_link', $content);
    return $content;
}

function add_class_to_link($matches) {
    $link = $matches[0];
    $link = str_replace('<a', '<a class="my-class"', $link);
    return $link;
}

add_filter('the_content', 'add_class_to_links');
add_filter('widget_text', 'add_class_to_links');


Этот код добавит класс my-class ко всем ссылкам в тексте контента и в виджетах. Вы можете также настроить его с помощью регулярных выражений для более точного выбора ссылок, к которым нужно добавить класс.