Почему не подключаются стили css в wordpress?

Ссылка скопирована
1 ответ
<!DOCTYPE html> <html lang="en"> <head> 	<meta charset="UTF-8"> 	<meta name="viewport" content="width=device-width, initial-scale=1.0"> 	<meta http-equiv="Cache-Control" content="no-cache">     <?php wp_head(); ?> 	<title>Домашняя утка</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script> 	<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 	<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap" rel="stylesheet"> 	<link rel="stylesheet" href="/css/style.css"> </head> <body> 	<nav class="navbar"> 		<div class="container"> 			<a href="#" class="navbar-brand">HTML&CSS</a> 			<div class="navbar-wrap"> 				<ul class="navbar-menu"> 					<li><a href="">О нас</a></li> 					<li><a href="">Портфолио</a></li> 					<li><a href="">Цены</a></li> 					<li><a href="">Контакты</a></li> 				</ul> 				<a href="#" class="callback">Обратный звонок</a>	 			</div> 		</div> 	</nav> </body>

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Cache-Control" content="no-cache"> <?php wp_head(); ?> <title>Домашняя утка</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100&display=swap" rel="stylesheet"> <link rel="stylesheet" href="/css/style.css"> </head> <body> <nav class="navbar"> <div class="container"> <a href="#" class="navbar-brand">HTML&CSS</a> <div class="navbar-wrap"> <ul class="navbar-menu"> <li><a href="">О нас</a></li> <li><a href="">Портфолио</a></li> <li><a href="">Цены</a></li> <li><a href="">Контакты</a></li> </ul> <a href="#" class="callback">Обратный звонок</a> </div> </div> </nav> </body>

<?php add_action( 'wp_enqueue_scripts', 'domesticduck_scripts' ); function domesticduck_scripts() { 	// подключаем файл стилей темы 	wp_enqueue_style( 'main', get_stylesheet_uri() );     wp_enqueue_style( 'domesticduck', get_template_directory_uri() . '/css/style.css', array('main') ); 	wp_enqueue_script( 'script-name', get_template_directory_uri() .'js/example.js', array(), '1.0', true ); }

<?php add_action( 'wp_enqueue_scripts', 'domesticduck_scripts' ); function domesticduck_scripts() { // подключаем файл стилей темы wp_enqueue_style( 'main', get_stylesheet_uri() ); wp_enqueue_style( 'domesticduck', get_template_directory_uri() . '/css/style.css', array('main') ); wp_enqueue_script( 'script-name', get_template_directory_uri() .'js/example.js', array(), '1.0', true ); }

Я вроде все написал правильно. Хуком достаю тему и через wp_head сую её в index.php но на сайте у меня вылазит ошибка:

Почему не подключаются стили css в wordpress?

В index.php если я напрямую все пропишу стили работают меняются. Но через фанкшн не хочет( Еще на сайте в меню ошибки я заметил что у меня путь почемуто сайт.ру/css/style.css Хотя там до папки стайл еще есть папки почему он их игнорирует. Вопросов подобных много уже задано но я не нашел решения.

Дополнительно:

https://qna.habr.com/help/rules

3. В процессе создания вопроса пользователь Сервиса обязан:
3.8. Использовать для демонстрации фрагментов кода только специальный тег < code> или специальные демонстрационные ресурсы.
Размещение фрагментов кода в виде изображений запрещено.

nvdfxx @nvdfxx Senior Pomidor developer Строчка

wp_enqueue_style( 'domesticduck', get_template_directory_uri() . '/css/style.css', array('main') );

wp_enqueue_style( 'domesticduck', get_template_directory_uri() . '/css/style.css', array('main') );

ищет файл по пути /wp-content/themes/[theme-name]/css/style.css, а не в корне сайта
P.S. В head не нужно вручную прописывать линки до стилей, которые импортируются в functions yorf @yorf Автор вопроса убрал линк, ошибка пропала. Стили видны как загруженные, но все равно не работают.

Почему не подключаются стили css в wordpress?

  • а не все, тема подгрузилась. Я просто затупил сам код файла стилей не тот.
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Стас DB Ответ

В WordPress стили лучше подключать не прямым <link rel="stylesheet" href="/css/style.css"> в шаблоне, а через wp_enqueue_style() в functions.php. У вас ещё видно, что add_action() оказался внутри/после HTML-шаблона. Так делать не нужно: hook регистрируется в файле функций темы, а не в разметке страницы.

Правильный вариант для functions.php:

add_action('wp_enqueue_scripts', function () {
    wp_enqueue_style(
        'bootstrap',
        'https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css',
        [],
        '5.2.2'
    );
 
    wp_enqueue_style(
        'theme-style',
        get_stylesheet_directory_uri() . '/css/style.css',
        ['bootstrap'],
        filemtime(get_stylesheet_directory() . '/css/style.css')
    );
 
    wp_enqueue_script(
        'bootstrap',
        'https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js',
        [],
        '5.2.2',
        true
    );
});

add_action('wp_enqueue_scripts', function () { wp_enqueue_style( 'bootstrap', 'https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css', [], '5.2.2' ); wp_enqueue_style( 'theme-style', get_stylesheet_directory_uri() . '/css/style.css', ['bootstrap'], filemtime(get_stylesheet_directory() . '/css/style.css') ); wp_enqueue_script( 'bootstrap', 'https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js', [], '5.2.2', true ); });

В header.php должен остаться wp_head() перед закрытием </head>, а в footer.phpwp_footer() перед закрытием </body>. Без них WordPress не выведет подключённые стили и скрипты.

Путь /css/style.css означает папку css в корне домена, а не в теме. Если файл лежит в теме, используйте get_stylesheet_directory_uri() для дочерней темы или get_template_directory_uri() для родительской.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно