Я попытался провести самостоятельное исследование и нашел эти вопросы 1 и 2, но ни один из них не решил мою проблему, поэтому я создал новый.
Я попытался использовать функцию wp_enqueue_scripts для загрузки определенного файла CSS на определенную страницу, но каким-то образом она всегда пропускает условие и переходит к условию else. Вот мой код;
function theme_script_enqueue() {
if (is_page_template('index.php')) {
wp_enqueue_style('indexstyle', get_template_directory_uri() . '/css/news.css', array(), '1.0.0', 'all');
wp_enqueue_script('indexjs', get_template_directory_uri() . '/js/main.js', array(), '1.0.0', true);
} else {
wp_enqueue_style('mainstyle', get_template_directory_uri() . '/css/main.css', array(), '1.0.0', 'all');
wp_enqueue_script('mainjs', get_template_directory_uri() . '/js/main.js', array(), '1.0.0', true);
}
}
add_action('wp_enqueue_scripts', 'theme_script_enqueue');
Когда я обращаюсь к http://localhost:8888/wordpress/index.php просто для того, чтобы убедиться, в зависимости от условия, я ожидал, что скрипт загрузит news.css, но вместо этого он загрузил main.css, у которых есть некоторые элементы с разными цветами, поэтому я сразу заметил. Я сделал CSS-файл переключения между условием, и он всегда загружал условие else, когда я пытался получить доступ к index.php. Я сделал что-то не так?






Как описано здесь: https://developer.wordpress.org/themes/template-files-section/page-template-files/
index.php — If no specific page templates are assigned or found, WordPress defaults back to using the theme’s index file to render pages.
Итак, насколько я понимаю, index.php - это запасной вариант, а не шаблон. Также вы должны описать свой файл шаблона:
<?php /* Template Name: Example Template */ ?>
Вы записали этот комментарий в свой файл шаблона?
Итак, я попытался перейти с
is_page_templateнаis_page, и целью по-прежнему являетсяindex.php, но сценарий все еще не используетnews.cssв моемindex.php. Есть ли способ загрузить определенный файл css вindex.phpи отделить их от других файлов css?