web-dev-qa-db-ja.com

Wordpressプラグインを介してスタイルシートをロードする

WordPressプラグインを作成し、それにいくつかのcssスタイルシートを含めたいので、テーマのfunctions.phpファイルで通常使用するプロセスを使用しようとしました...

add_action('wp_enqueue_script','register_my_scripts');

function register_my_scripts(){
    $dir = plugin_dir_path( __FILE__ );
    wp_enqueue_style( $dir . 'css/style1.css');
    wp_enqueue_style( $dir . 'css/style2.css');
}

しかし、これは何もロードしていません、私は何が間違っているのですか?

12
fightstarr20

使用する必要のあるフックはwp_enqueue_scriptsであり、「s」がありませんでした。

必要なのがディレクトリURLである場合、ディレクトリパスを取得します。

wp_enqueue_styleの最初のパラメーターはハンドルであり、URLではありません。

function wpse_load_plugin_css() {
    $plugin_url = plugin_dir_url( __FILE__ );

    wp_enqueue_style( 'style1', $plugin_url . 'css/style1.css' );
    wp_enqueue_style( 'style2', $plugin_url . 'css/style2.css' );
}
add_action( 'wp_enqueue_scripts', 'wpse_load_plugin_css' );
23
Nathan Dawson

ファイルシステムのディレクトリパスを出力する plugin_dir_path を使用しています。代わりにURLが必要です。

また、 wp_enqueue_style の最初のパラメーターは$handlernameです。

使用 plugins_url

wp_enqueue_style( 'style1', plugins_url( 'css/style1.css' , __FILE__ ) );

完全なコード:

add_action('wp_enqueue_scripts','register_my_scripts');

function register_my_scripts(){
    wp_enqueue_style( 'style1', plugins_url( 'css/style1.css' , __FILE__ ) );
    wp_enqueue_style( 'style2', plugins_url( 'css/style2.css' , __FILE__ ) );
}
7
Rahil Wazir

試してみてください:

wp_enqueue_style('custom-style', plugins_url( '/css/my-style.css', __FILE__ ), array(),'all'); where plugins_urlは、スラッシュなしのプラグインベースを基準にしています。

2
Obmerk Kronen

プラグインURLを使用してwpプラグインフォルダーからスタイルをロードします

function add_plugin_stylesheet() 
    {
      wp_enqueue_style( 'style1', plugins_url( '/css/styleFileName1.css', __FILE__ ) );
      wp_enqueue_style( 'style2', plugins_url( '/css/styleFileName2.css', __FILE__ ) );
    }

    add_action('admin_print_styles', 'add_plugin_stylesheet');
0
Super Model