web-dev-qa-db-fra.com

Comment afficher un style personnalisé basé sur une boîte de sélection d'option de thème

Comment puis-je afficher un extrait de style différent si un utilisateur sélectionne une option dans la zone de sélection de ma page d'options de thème?.

Par exemple. Pour afficher la barre latérale à droite, un utilisateur sélectionnerait "Droite" et la feuille de style par défaut serait utilisée. Cependant, s'ils choisissaient "Gauche" pour l'afficher à gauche, un petit extrait de style apparaîtrait qui remplacerait la feuille de style par défaut.

Voici comment je le fais pour les cases à cocher si cela aide.

<?php if ( of_get_option('show_post_sidebar', false ) ) { ?>
        <!-- default styles would be used -->
    <?php } else {?>
        <style type="text/css" media="screen">
            .post{width:720px}
        </style>
    <?php } ?>
1
Dean Elliott

Il suffit de placer votre CSS dynamique dans une fonction de rappel, reliée à wp_print_script, par exemple.

function mytheme_custom_css() {
    ?>
    <script type="text/css">
    <?php if ( of_get_option('show_post_sidebar', true ) ) { ?>
        .post{width:720px}
    <?php } ?>
    </script>
    <?php
}
add_action( 'wp_print_scripts', 'mytheme_custom_css' );

Ajoutez autant de règles CSS conditionnelles que vous le souhaitez, voire autant.

0
Chip Bennett

J'ai moi-même recherché cela pour mon blog personnel. Il semble y avoir quelques plugins si vous n'êtes pas opposé à en utiliser un.

Edit: WordPress semble avoir une fonction intégrée pour cela.

Modifier à nouveau: je suis désolé mais je pense avoir mal lu votre question. J'ai supposé que vous cherchiez un moyen de changer de thème en fonction des préférences de l'utilisateur. J'imagine que j'aurais dû lire plus attentivement plutôt que de survoler rapidement.

0
Joseph Leedy