Dans https://codex.wordpress.org/Child_Themes , ils ont donné 2 codes de mise en file d'attente différents, quelle est la différence entre eux?
C'est le premier
<?php
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
?>
C'est le deuxième
<?php
function my_theme_enqueue_styles() {
$parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.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' );
?>
Quelle est la différence entre les deux et lequel devrait être utilisé et ce code fonctionnerait-il sur tous les thèmes wordpress?
Deuxième doute que j'ai concerne un fichier rtl.css. J'ai ce nom de fichier rtl.css dans mon thème. Dois-je mettre aussi en file d'attente rtl.css en utilisant
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/rtl.css' );
Après avoir ajouté rtl.css dans le répertoire du thème enfant
To support RTL languages, add rtl.css file to your child theme, containing:
/*
Theme Name: Twenty Fourteen Child
Template: twentyfourteen
*/
La première fonction doit figurer dans le fichier functions.php de votre thème parent.
Code du thème parent
<?php
if ( ! function_exists( 'my_theme_enqueue_scripts' ) ) {
function my_theme_enqueue_scripts() {
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
function my_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
}
?>
Code du thème de l'enfant
Placez maintenant le code suivant dans le thème de votre enfant. Si vous définissez 'parent-style' comme dépendance, vous vous assurerez que la feuille de style du thème enfant sera chargée après celle-ci.
if ( ! function_exists( 'my_theme_enqueue_scripts' ) ) {
function my_theme_enqueue_scripts() {
wp_enqueue_style( 'my_parent_style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'my_child_style',
get_stylesheet_directory_uri() . '/style.css',
array('my_parent_style')
);
add_action( 'wp_enqueue_scripts','my_theme_enqueue_scripts' );
}
}
J'espère que c'est clair.
2nd Doubt Il est recommandé d'ajouter le fichier rtl.css
à votre thème enfant, même si le thème parent n'a pas de fichier rtl.css
. rtl.css
n'est chargé par WordPress que si is_rtl () renvoie true.