Wordpress通过插件加载样式表

2022-08-30 18:17:40

我已经写了一个WordPress插件,并希望使其包含一些css样式表,我试图使用我通常在主题函数中使用的过程.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');
}

但这不是加载任何东西,我做错了什么?


答案 1

你需要使用的钩子是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' );

答案 2

您正在使用输出文件系统目录路径plugin_dir_path。相反,您需要 URL。

此外,wp_enqueue_style的第一个参数是 name。$handler

使用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__ ) );
}

推荐