7

wp_options を使用して css コードを設定する簡単なプラグインを作成しました。すべてが次のように似ています。

add_action('init','easy_style');

function easy_style()
{
    ?>
    <style>
    #header a {
        color: <?php echo get_option('topcolor'); ?>;
        font-size: <?php echo get_option('topsize'); ?>px;
        <?php
            if (get_option('topstyle') == "bold")
            { echo "font-weight: bold;"; echo "font-style: normal;"; }
            elseif (get_option('topstyle') == "italic")
            { echo "font-style: italic;"; echo "font-weight: normal;"; }
            elseif (get_option('topstyle') == "bolditalic")
            { echo "font-weight: bold;"; echo "font-style: italic;"; }
            else { echo "font-weight: normal;"; echo "font-style: normal;"; }
        ?>;
    }

    </style>
    <?php
}

これで動作しますが、「Contact Form 7」プラグインを有効にすると、Contact Form 7 が動作しなくなります。メールを送信することはできません。だから自分のしていることは間違っていると思います。このコードを削除すると、連絡先フォームが再び機能します...

CSSをヘッダーにロードする必要があるため、間違っていると思いますか?だから私がテストとしてやろうと思ったことは、ヘッダーに同じコードを入れることです。ただし、他のCSS(どこかわからない)がこれらを上書きするため、これも機能しません。

ヘッダーに css コードを追加する wp 関数がいくつかあると思いますが、正確な方法はわかりません。

何か案は?

ありがとう

4

4 に答える 4

28

プラグインに CSS を追加する安全な方法は、wp_enqueue_style.

/**
 * Register with hook 'wp_enqueue_scripts', which can be used for front end CSS and JavaScript
 */
add_action( 'wp_enqueue_scripts', 'prefix_add_my_stylesheet' );

/**
 * Enqueue plugin style-file
 */
function prefix_add_my_stylesheet() {
    // Respects SSL, Style.css is relative to the current file
    wp_register_style( 'prefix-style', plugins_url('style.css', __FILE__) );
    wp_enqueue_style( 'prefix-style' );
}

参照

于 2012-06-05T13:08:19.570 に答える
2

使用しているプラ​​グインが http ヘッダーを送信したいのかもしれません。

initフック (詳細はこちら: http://codex.wordpress.org/Plugin_API/Action_Reference/init ) を使用しているため、プラグイン開発者がヘッダーがまだ送信されていないと判断したときに、いくつかのアクションを実行しています。

しかし、いくつかの出力を送信する (いくつかのスタイルをエコーする) ため、ヘッダーをより早く送信する必要があります。出力が既に開始された後に発生する別のフックを使用することをお勧めします。

更新: wp_enqueue_style 関数 (ここを参照: http://codex.wordpress.org/Function_Reference/wp_enqueue_style ) を使用できます。これは、スタイルを表示するための推奨される方法です。これらのルールを css ファイルに保存し、wp_head 関数が呼び出される前に読み込まれるようにキューに入れるだけです。

于 2012-06-05T13:05:05.403 に答える
-14

styles.css ファイルを読み込んで編集し、再度保存することで問題を解決しました

于 2012-06-08T18:22:15.767 に答える