EXPECTED OUTPUT
I am attempting to enqueue two stylesheets in Wordpress child theme.
I have written front-page.php
for which I wish to apply exclusively front-page-style.css
.
In addition, I have written header.php
to override the parent theme's header. I have written style.css
override the parent's stylesheet if it is in conflict.
ACTUAL OUTPUT
For neither front-page.php
nor all other pages, neither the parent or the child stylesheet is being applied.
CODE
FOLDER STRUCTURE
+-- oceanwp
+-- oceanwp-child-theme-master
| +-- functions.php
| +-- style.css
| +-- front-page-style.css
| +-- front-page.php
| +-- header.php
Functions.php
function oceanwp_child_enqueue_parent_style() {
// Dynamically get version number of the parent stylesheet (lets browsers re-cache your stylesheet when you update your theme)
$theme = wp_get_theme( 'OceanWP' );
$version = $theme->get( 'Version' );
// Load the stylesheet
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( 'oceanwp-style' ), $version );
}
function my_theme_enqueue_styles() {
$parent_style = 'oceanwp-style';
// if the page is front-page.php, apply front-page-style.css
if ( is_front_page() ) {
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' , '/style-rtl.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/front-page-style.css',
array( $parent_style ),
wp_get_theme('')->get('Version')
);
}
// if the page is not front-page.php, apply style.css (CHILD) first and style.css (PARENT) second
if (!is_front_page() ) {
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' , '/style-rtl.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( $parent_style ),
wp_get_theme('')->get('Version')
);
}
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles', 'my_custom_scripts' );
?>