Как связать пользовательскую таблицу стилей с шаблоном страницы?

Если бы кто-нибудь мог помочь мне с этим, я был бы очень благодарен.
Я знаю, что это вопрос, который задавался очень часто, однако я потратил дни, просматривая посты других людей, пытаясь понять, как использовать мою папку функций для привязки пользовательской таблицы стилей к шаблону страницы, над которым я работаю.

Пока что код, который я нашел, выглядит наиболее вероятным, вот этот —

if( is_page_template( 'work.php' ) ) {
wp_register_style("work-style", get_template_directory_uri() .
"/css/page-template.css", '', '1.0.0');
wp_enqueue_style('page-template');
}

Шаблон страницы, который я пытаюсь создать, называется «работа», поскольку я пытался добавить его в код, однако что-то, что я делаю, неправильно, так как он использует основную таблицу стилей или не имеет никакого эффекта. оставив мне пустую страницу между моим верхним и нижним колонтитулом.

Вы можете увидеть код для моей страницы шаблона php ниже. (Я очень плохо знаком с WordPress и кодированием в целом, поэтому, если я допустил какие-либо глупые ошибки, пожалуйста, дайте мне знать). Я разработал тему, которую я использую с нуля.

<?php
/*
Template Name:work
*/
?>

<link href="style.css" rel="stylesheet" type="text/css">

<link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet"type="text/css">

<body>

<?php get_header(); ?>

<div class="content" id= "workcontent">

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

<div <?php post_class(); ?> id="post-<?php the_ID(); ?>">

<div class="entry">
<?php the_content(__('Read the rest of this entry &raquo;', 'kubrick')); ?>
</div>

</div>

<?php endwhile; ?>

<?php endif; ?>

<div id="wrapper">

<a href="/landscapes"><div class="albums" id= "album1"></div></a>
<a href="/seascapes"><div class="albums" id= "album2"></div></a>
<a href="/macro"><div class="albums" id= "album3"></div></a>
<a href="/cities"><div class="albums" id= "album4"></div></a>
<a href="/long-exposure"><div class="albums" id= "album5"></div></a>
<a href="/miscellaneous"><div class="albums" id= "album6"></div></a>

</div>
</div>

</body>

<?php get_footer(); ?>

0

Решение

Предполагая, что ваш рабочий шаблон находится в корне папки темы и он на самом деле называется work.php, а также тот факт, что ваш css находится в подпапке css и называется template.css, вы можете изменить свой код как следующим образом:

function enqueue_styles() {
if( is_page_template( 'work.php' ) ) {
wp_enqueue_style('work-style', get_bloginfo('template_url').'/css/page-template.css', true, '1.0.0', 'all' );
}
}
add_action('wp_enqueue_scripts', 'enqueue_styles');

Очевидно, что это входит в ваш файл functions.php. Вы также можете поместить его непосредственно в файл work.php, в этом случае вы можете пропустить if и просто поместить следующую строку вверху:

wp_enqueue_style('work-style', get_bloginfo('template_url').'/css/page-template.css', true, '1.0.0', 'all' );
0

Другие решения

При постановке в очередь стиля вам нужно использовать имя дескриптора, которое вы использовали для его регистрации, а не имя файла. В этом случае вы регистрируете стиль как «рабочий стиль», поэтому вы должны использовать это имя, чтобы поставить его в очередь, например так:

if( is_page_template( 'work.php' ) ) {
wp_register_style('work-style', get_template_directory_uri() .
'/css/page-template.css', '', '1.0.0');
wp_enqueue_style('work-style');
}
0

По вопросам рекламы [email protected]