web-dev-qa-db-ja.com

WordPressウィジェット内にスタイルシートを登録するにはどうすればいいですか?

Dave Clementsチュートリアル に従って、WordPressウィジェットを開発しています。それはうまくいきます。今、私はそれにいくつかのスタイルを追加したいです。実行時にロードされる追加のCSSファイルにスタイルを含める必要があります。私はこの関数を呼んでいます

function myprefix_add_my_stylesheet() {
  wp_register_style( 'myprefix-style', plugins_url('mystyle.css', __FILE__) );
  wp_enqueue_style( 'myprefix-style' );
}

直前(Daveのチュートリアルを参照)の「// Widget output //」は次の文を使用しています。

add_action( 'wp_enqueue_scripts', 'myprefix_add_my_stylesheet' );

しかし何も起こらないようです。何がおかしいのですか?

2
twigmac

WordPressがウィジェットのコンテンツを処理する前にwp_enqueue_scriptsが呼び出されるので、 この記事のように あなたはボートに乗り遅れました:)。

代わりに、直接wp_enqueue_styleを呼び出してください。

function widget($args, $instance) {
    wp_enqueue_style( 'myprefix-style', plugins_url('mystyle.css', __FILE__) );

    //Widget content
}

(その後すぐにエンキューする場合は、登録する必要はありません)。 wp_enqueue_scriptについても同じことが言えます。

4
Stephen Harris