web-dev-qa-db-ja.com

テーマオプション選択ボックスに基づいてカスタムスタイルを表示する方法

ユーザーが自分のテーマオプションページの選択ボックスからオプションを選択した場合に、異なるスタイルのスニペットを表示する方法を教えてください。

例えば。サイドバーを右側に表示するには、「Right」を選択してデフォルトのスタイルシートを使用します。ただし、左側に表示するために "Left"を選択した場合は、デフォルトのスタイルシートをオーバーライドする小さなスタイルスニペットが表示されます。

これが役に立つ場合は、これをチェックボックスに対して行います。

<?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

動的CSSをコールバック関数の中に入れて、wp_print_scriptにフックするだけです。

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' );

必要な数だけ、またはできるだけ多くの条件付きCSSルールを追加します。

0
Chip Bennett

私自身が私の個人的なブログのためにこれを研究しています。あなたがプラグインを使わないのであれば、いくつかの プラグイン があるようです。

編集:WordPressは このための組み込み関数 を持っているようです。

もう一度編集してください:すみませんが、私はあなたの質問を誤って読んだと思います。ユーザーの好みに基づいてテーマを変更する方法を探していたと思います。私はすぐにスキミングするよりももっと慎重に読んだ方がいいと思います。

0
Joseph Leedy