web-dev-qa-db-fra.com

J'ai des doutes sur la mise en œuvre du thème de l'enfant

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
*/
1
user110681

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.

1
Maqk