I just started to use WordPress to start building a website, but as I need to use the get_header()
function to retrieve the <head>
content and I have a very large project, I wanted to put a CSS file depending on the page that is being displayed. After a few tries I came up with a solution, but I think that I can do it in a better way and I need your help to optimize it.
Here is my PHP snippet that goes into the functions.php file:
function website_files_per_page() {
$pagelist = get_pages();
$index = sizeof($pagelist);
while ($index --) {
$pagename = $pagelist[$index]->post_name;
if (is_page($pagename)){
$styleName = "website_".$pagename."_styles";
$styleDir = get_theme_file_uri("/style/".$pagename.".css");
wp_enqueue_style($styleName, $styleDir);
break;
}
}
}
add_action("wp_print_styles", "website_files_per_page");