web-dev-qa-db-fra.com

Comprendre wp_add_inline_style

J'essaie de comprendre la fonction wp_add_inline_style () dans WordPress.

//setting inline css.
function my_styles_method() {
    wp_enqueue_style(
        'custom-style',
        get_template_directory_uri() . '/css/custom_script.css'
    );
        $color = get_theme_mod( 'my-custom-color' ); //E.g. #FF0000
        $custom_css = "
                .mycolor{
                        background: {$color};
                }";
        wp_add_inline_style( 'custom-style', $custom_css );
}
add_action( 'wp_enqueue_scripts', 'my_styles_method' );

Je comprends l'essentiel mais je ne comprends pas ce bit:

wp_enqueue_style(
   'custom-style',
    get_template_directory_uri() . '/css/custom_script.css'
);

Est-ce une dépendance? ou un fichier css vierge pour que le code y soit écrit?

Si sa dépendance alors pourquoi? Je veux juste charger des CSS personnalisés dans le thème afin qu'il puisse être plus personnalisable.

Merci

6
Robert

wp_add_inline_style() est destiné à ajouter des CSS supplémentaires à une feuille de style existante. L'idée est que vous devrez peut-être modifier dynamiquement la feuille de style. Par exemple, vous avez des couleurs sélectionnées par l'utilisateur associées à des catégories et vous souhaitez colorer le titre de chaque catégorie en conséquence. Vous ne pouvez pas le coder en dur car les couleurs en question ne sont pas connues, mais résident dans la base de données.

Alors

wp_enqueue_style(
   'custom-style',
    get_template_directory_uri() . '/css/custom_script.css'
);

met simplement en file d'attente une feuille de style existante à laquelle nous attacherons notre CSS généré dynamiquement.

Il semble que ce que vous essayez de faire est de charger le CSS entré par l'utilisateur. Je ne le recommanderais pas vraiment: proposer des ajustements via le personnalisateur est un bon moyen de permettre aux utilisateurs de personnaliser le thème, mais s’ils ont besoin d’apporter des modifications substantielles, ils veulent vraiment un thème child .

Cependant, si vous devez le faire, j'utiliserais wp_enqueue_style() pour charger le style.css du thème, puis y attacher des personnalisations. (La plupart des thèmes semblent coder en dur le style.css dans le <head>, mais je ne sais pas hwy).


Développeurs: Vous devez être conscient de ce ticket de traçage: http://core.trac.wordpress.org/ticket/24813

6
Stephen Harris